[webservices] Fwd: dataselect wrong data returned to multithreaded client
Bruce Weertman
bruce at iris.washington.edu
Thu Jul 19 10:53:28 PDT 2012
Philip:
Just to get back to you - and everybody else on the list.
Are you saying is thread-1 and thread-2 are each making requests, but thread-1 gets the data that thread-2 made.
Or something along that line?
Possibilities:
(1) Collision of token values. Token is generated from the request via a standard hashing algorithm.
(2) In the java servlet one request gets confused with another request. This could happen if there was a mistake
where the wrong scope was used for variables. For example improperly using variables from the servlet instance and not off
of the stack or accidentally using a global (ie static) variable. Code review looks OK. But that's just code review.
(3) Some sort of weird networking issue related to reusing http connections??
I wrote a script to scan the cache (had 34,000 items in it) looking for a mis-match between the data and the requests,
but I didn't find any. A necessary but not sufficient test of the cache working properly.
Are you saying that you saw these requests collide
http://www.iris.edu/ws/dataselect/query?net=II&sta=BORG&loc=00&cha=BHZ&start=2009-05-16T01:08:44&end=2009-05-16T01:26:26
http://www.iris.edu/ws/dataselect/query?net=II&sta=ARU&loc=00&cha=BHZ&start=2009-05-16T01:08:44&end=2009-05-16T01:26:26
I don't see that:
geodude:tmp bruce$ wget -O aru.dat "http://www.iris.edu/ws/dataselect/query?net=II&sta=ARU&loc=00&cha=BHZ&start=2009-05-16T01:08:44&end=2009-05-16T01:26:26"
--2012-07-19 10:19:45-- http://www.iris.edu/ws/dataselect/query?net=II&sta=ARU&loc=00&cha=BHZ&start=2009-05-16T01:08:44&end=2009-05-16T01:26:26
Resolving www.iris.edu... 128.95.166.129
Connecting to www.iris.edu|128.95.166.129|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 28672 (28K) [application/vnd.fdsn.mseed]
Saving to: `aru.dat'
100%[==================================================================================================================================================================>] 28,672 --.-K/s in 0.002s
2012-07-19 10:19:45 (11.3 MB/s) - `aru.dat' saved [28672/28672]
geodude:tmp bruce$ msi aru.dat
II_ARU_00_BHZ, 000001, M, 4096, 2894 samples, 19.99993515 Hz, 2009,136,01:08:44.015300
II_ARU_00_BHZ, 000000, M, 4096, 3104 samples, 19.99993515 Hz, 2009,136,01:11:08.715900
II_ARU_00_BHZ, 000000, M, 4096, 3446 samples, 19.99993515 Hz, 2009,136,01:13:43.916400
II_ARU_00_BHZ, 000000, M, 4096, 3520 samples, 19.99993515 Hz, 2009,136,01:16:36.217000
II_ARU_00_BHZ, 000000, M, 4096, 3712 samples, 19.99993515 Hz, 2009,136,01:19:32.217500
II_ARU_00_BHZ, 000000, M, 4096, 3712 samples, 19.99993515 Hz, 2009,136,01:22:37.818100
II_ARU_00_BHZ, 000001, M, 4096, 852 samples, 19.99993515 Hz, 2009,136,01:25:43.418700
geodude:tmp bruce$ wget -O borg.dat "http://www.iris.edu/ws/dataselect/query?net=II&sta=BORG&loc=00&cha=BHZ&start=2009-05-16T01:08:44&end=2009-05-16T01:26:26"
--2012-07-19 10:18:51-- http://www.iris.edu/ws/dataselect/query?net=II&sta=BORG&loc=00&cha=BHZ&start=2009-05-16T01:08:44&end=2009-05-16T01:26:26
Resolving www.iris.edu... 128.95.166.129
Connecting to www.iris.edu|128.95.166.129|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 45056 (44K) [application/vnd.fdsn.mseed]
Saving to: `borg.dat'
100%[==================================================================================================================================================================>] 45,056 --.-K/s in 0.004s
geodude:tmp bruce$ msi borg.dat
II_BORG_00_BHZ, 000001, M, 4096, 762 samples, 20 Hz, 2009,136,01:08:44.049900
II_BORG_00_BHZ, 000000, M, 4096, 2204 samples, 20 Hz, 2009,136,01:09:22.149900
II_BORG_00_BHZ, 000000, M, 4096, 2120 samples, 20 Hz, 2009,136,01:11:12.349900
II_BORG_00_BHZ, 000000, M, 4096, 2024 samples, 20 Hz, 2009,136,01:12:58.349900
II_BORG_00_BHZ, 000000, M, 4096, 2170 samples, 20 Hz, 2009,136,01:14:39.549900
II_BORG_00_BHZ, 000000, M, 4096, 2122 samples, 20 Hz, 2009,136,01:16:28.049900
II_BORG_00_BHZ, 000000, M, 4096, 2100 samples, 20 Hz, 2009,136,01:18:14.149900
II_BORG_00_BHZ, 000000, M, 4096, 2142 samples, 20 Hz, 2009,136,01:19:59.149900
II_BORG_00_BHZ, 000000, M, 4096, 2172 samples, 20 Hz, 2009,136,01:21:46.249900
II_BORG_00_BHZ, 000000, M, 4096, 2138 samples, 20 Hz, 2009,136,01:23:34.849900
II_BORG_00_BHZ, 000001, M, 4096, 1286 samples, 20 Hz, 2009,136,01:25:21.749900
Any more information would be appreciated.
Thanks,
-Bruce
Begin forwarded message:
>>>
>>>
>>> On 2012/07/16 22:29, Philip Crotwell wrote:
>>>> Hi
>>>>
>>>> I have been doing some tests with the dataselect web service from a
>>>> multithreaded client (SOD) and found that occasionally I would get
>>>> data records back in one thread that were not the channel asked for.
>>>> Luckily I had a check in place from some earlier issues that compared
>>>> the channel codes in the request with those in the result. Here is an
>>>> example. It appears that the thread that requested data from BORG got
>>>> data from ARU.
>>>>
>>>>
>>>> 2012-07-16 15:51:26,794 - Channel id in returned seismogram doesn not
>>>> match channelid in request.
>>>> req=II.1986-01-01T00:00:00.000GMT.BORG.00.BHZ.2003-08-29T00:00:00.000GMT
>>>> seis=II.1986-01-01T00:00:00.000GMT.ARU.00.BHZ.2003-08-29T00:00:00.000GMT
>>>>
>>>> The request, if it helps, was
>>>> net=II&sta=BORG&loc=00&cha=BHZ&start=2009-05-16T01:08:44&end=2009-05-16T01:26:26
>>>>
>>>> This is a bit scary as I suspect many clients do not check the
>>>> returned data to make sure it actually corresponds to their original
>>>> request. I have not seen this with a single threaded client, so
>>>> perhaps that is a clue.
>>>>
>>>> I will try to do some more testing and see if I can provide any more details.
>>>>
>>>> thanks,
>>>> Philip
>>>> _______________________________________________
>>>> webservices mailing list
>>>>
>>>> webservices at iris.washington.edu
>>>> http://www.iris.washington.edu/mailman/listinfo/webservices
>>>>
>>>>
>>>>
>
--------------------------------------
Bruce R Weertman
Software Engineer
IRIS DMC
1408 NE 45h St, Suite 201
Seattle, WA 98105
bruce at iris.washington.edu
(206) 547-0393
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.iris.washington.edu/pipermail/webservices/attachments/20120719/02e83840/attachment-0001.htm>
More information about the webservices
mailing list