POST
|
Hi Gianluca, thanks for doing some more testing on this issue. I did some tests on a Windows Server 2012 R2 machine with 10.3.1. In my configuration there is only one TCP Server socket configured in GeoEvent Extension. I used the first script above, which opens the socket once. My Input connector did not process any message. Regards, Thorsten
... View more
08-04-2015
02:22 AM
|
0
|
1
|
396
|
POST
|
Hi Xuehan, thanks for your Information. Do you have an idea why the script is working on Gianluca's system? Is there already an information what exactly the problem is? Is it a timing issue, problem with JSON parsing or a problem with the TCP socket? If there won't be a patch for the problem soon we are forced to find a workaround that. This could be e.g. the development of a custom Input connector. Therefore it is important for us to know, whether this is a generic issue, which can not be solved by a custom Input Adapter or whether it is a bug specific for that TCP/JSON Adapter? The best solution anyhow would be patch for this. Regards, Thorsten
... View more
08-02-2015
11:54 PM
|
0
|
4
|
396
|
POST
|
Hi, strange. In my opintion there must be a difference somehow. We were able to reproduce this on several machines. - Which operating system are you testing on? - What is the locale of your OS? - Are you sending to localhost or from another machine to your geoevent Service? - Do you have any special configuration for geoevent extension? - Is there a patch for 10.3.1 which I didn't notice yet? # here is another script which breaks down the Input. # -*- coding: cp1252 -*- import socket import json import time #sending the message 20 times for i in range(100): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('127.0.0.1', 15057)) # j = 0 n = 3 while j < n: print "send data.. " + str(i) s.send(json.dumps({'sampleString': '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890' + str(i*10+j)})) j = j + 1 s.shutdown(1) s.close() #time.sleep(1) exit
... View more
07-30-2015
02:22 AM
|
0
|
1
|
889
|
POST
|
Hi, I'm using the following configuration for the geo Event Input: # Python script to reproduce the Problem. import socket import json import time # JSON Message that will be send as single object for j in range(10): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print "connecting.." + str(j) s.connect(('127.0.0.1', 15057)) # #sending the message 20 times for i in range(1,21): print "send data.. " + str(i*j) s.send(json.dumps([{'sampleString': '1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678902345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890' + str(i*j)}])) time.sleep(0.1) # remove this line to break down geo event input s.shutdown(1) s.close() Exit
... View more
07-29-2015
06:59 AM
|
0
|
5
|
889
|
POST
|
Maybe someone has an idea to find a workaround or solution for that problem: The GeoEvent Extension 10.3.1 Input (JSON over TCP) stops working if the input receives more than a message in ~ 100 ms. The Input geoevents are not dropped like it appears to be in 10.2.2, instead the Input/TCP-Port stopps working at all. Even restarting the Input Connector does not solve the problem. If the Input connector stopped working once, no more data is received until the complete GeoEvent Service has been restarted. We had problems with remarkable packet loss in 10.2.2, so we decieded to use 10.3.1. Now we are running into the problem described above that the incoming data is not processed if the input stopped working once. We reproduced the problem with a simple python tool that is sending JSON Data to the TCP Socket. The test script sends always the identical JSON document. The JSON is about 1000 characters long. The GeoEvent Service always processes some Input Events (5 to 20, it's always different), then the Input stops working as described above. Test Environment: Windows: Server 2012 R2 and Windows 7 Professional Running on a Hyper-V Virtual Machine with 16GB RAM and 4 Cores Tested on 3 different Machines (one with Portal federated the others blank ArcGIS Server and GEP) ArcGIS Versions 10.3.1 GEP Connector: TCP JSON IN The most Important aspect is, that the Input connector does not recover itself, instead it is totally broken until the complete GEP is restarted. There is no chance to evaluate more detailed where the problem could be. We did not find anything helpfull in the Logfiles. It would be great if we could get some assistence or any hint what exactly the problem is and maybe how to circumvent the Problem. Unfortunately we are limited to TCP/JSON as Input, because this is the Interface to our customer.
... View more
07-29-2015
04:05 AM
|
1
|
14
|
5763
|
Title | Kudos | Posted |
---|---|---|
1 | 07-29-2015 04:05 AM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:25 AM
|