Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.7
-
Windows 10 1803
Python 3.7
Client module installed from latest sources, branch - master
Ignite compiled from latest sources
Description
Trying to use thin python client on Windows and have exception
Python excetion:
Traceback (most recent call last): File "C:\dev\test\put_value.py", line 5, in <module> cache = client.get_or_create_cache("test_3") File "[ignite path]\platforms\python\pyignite\client.py", line 306, in get_or_create_cache return Cache(self, settings, with_get=True) File "[ignite path]\platforms\python\pyignite\cache.py", line 116, in __init__ result = func(client, settings) File "[ignite path]\platforms\python\pyignite\api\cache_config.py", line 151, in cache_get_or_create 'cache_name': name, File "[ignite path]\platforms\python\pyignite\queries\__init__.py", line 287, in perform response_ctype, recv_buffer = response_struct.parse(conn) File "[ignite path]\platforms\python\pyignite\queries\__init__.py", line 66, in parse buffer = client.recv(ctypes.sizeof(header_class)) File "[ignite path]\platforms\python\pyignite\connection\__init__.py", line 292, in recv result += self._recv(buffersize-pref_size, flags) File "[ignite path]\platforms\python\pyignite\connection\__init__.py", line 316, in _recv raise SocketError('Socket connection broken.') OSError: Socket connection broken.
In ignite logs:
[11:19:20,522][SEVERE][client-connector-#47][ClientListenerNioListener] Failed to parse client request. class org.apache.ignite.binary.BinaryObjectException: Unexpected field type [pos=10, expected=String, actual=0] at org.apache.ignite.internal.binary.BinaryReaderExImpl.checkFlagNoHandles(BinaryReaderExImpl.java:1679) at org.apache.ignite.internal.binary.BinaryReaderExImpl.readString(BinaryReaderExImpl.java:1057) at org.apache.ignite.internal.processors.platform.client.cache.ClientCacheGetOrCreateWithNameRequest.<init>(ClientCacheGetOrCreateWithNameRequest.java:41) at org.apache.ignite.internal.processors.platform.client.ClientMessageParser.decode(ClientMessageParser.java:342) at org.apache.ignite.internal.processors.platform.client.ClientMessageParser.decode(ClientMessageParser.java:238) at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:140) at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:45) at org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279) at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109) at org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:97) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) at org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
Python code:
from pyignite import Client client = Client() client.connect('127.0.0.1', 10800) cache = client.get_or_create_cache("test_3") cache.put("key3", -3.3)
All others thin clients from same sources and on the same ignite binary works well
On linux from same sources python client works well too
Troubles only with python and windows