[jira] [Created] (IGNITE-14534) Python thin: Add script for building wheels on Windows
Igor Sapego created IGNITE-14534: Summary: Python thin: Add script for building wheels on Windows Key: IGNITE-14534 URL: https://issues.apache.org/jira/browse/IGNITE-14534 Project: Ignite Issue Type: Improvement Components: thin client Affects Versions: python-0.3.4 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: python-0.3.4 We already have scripts to build wheels on Linux, now we need script to build wheels on Windows. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14475) C++/dotnet query-example select result is various with additional node
Igor Sapego created IGNITE-14475: Summary: C++/dotnet query-example select result is various with additional node Key: IGNITE-14475 URL: https://issues.apache.org/jira/browse/IGNITE-14475 Project: Ignite Issue Type: Bug Components: platforms Affects Versions: 2.10 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.11 Steps: Start some additional nodes Execute query-example Expected output: {noformat} Names of all employees and organizations they belong to: Jane Doe is working in ApacheIgnite John Doe is working in ApacheIgnite Jane Smith is working in Other John Smith is working in Other {noformat} Actual (in 80% cases): {noformat} Names of all employees and organizations they belong to: Jane Doe is working in ApacheIgnite John Doe is working in ApacheIgnite John Smith is working in Other {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14465) Add the ability to activate the cluster via the Python thin client
Igor Sapego created IGNITE-14465: Summary: Add the ability to activate the cluster via the Python thin client Key: IGNITE-14465 URL: https://issues.apache.org/jira/browse/IGNITE-14465 Project: Ignite Issue Type: Bug Components: python, thin client Affects Versions: python-0.3.4 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: python-0.4.0 This feature will be extremely useful when working with clusters that have the "persistenceEnabled" option. Since they require activation to get started. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14432) Python thin: Support "with" statement for connection method
Igor Sapego created IGNITE-14432: Summary: Python thin: Support "with" statement for connection method Key: IGNITE-14432 URL: https://issues.apache.org/jira/browse/IGNITE-14432 Project: Ignite Issue Type: Bug Components: python, thin client Reporter: Igor Sapego Fix For: python-0.4.0 [pep-0343|https://www.python.org/dev/peps/pep-0343/] instead of this: {code:python}client.connect(environ['DB_HOST'], int(environ['DB_PORT'])) try: return client.sql(q, query_args=q_args, include_field_names=True) finally: client.close(){code} The user will be able to use this: {code:python}with client.connect(environ['DB_HOST'], int(environ['DB_PORT'])): return client.sql(q, query_args=q_args, include_field_names=True){code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14265) Python thin: Support passwords for certificates
Igor Sapego created IGNITE-14265: Summary: Python thin: Support passwords for certificates Key: IGNITE-14265 URL: https://issues.apache.org/jira/browse/IGNITE-14265 Project: Ignite Issue Type: Bug Components: python, thin client Affects Versions: python-0.3.4 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: python-0.4.0 Need to add support for certfiles with passwords. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14211) Python thin: SQL API is broken
Igor Sapego created IGNITE-14211: Summary: Python thin: SQL API is broken Key: IGNITE-14211 URL: https://issues.apache.org/jira/browse/IGNITE-14211 Project: Ignite Issue Type: Bug Affects Versions: python-0.3.4 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: python-0.4.0 Currently, Client.sql() call uses a 'schema' argument to get cache instance and fails when there are no such cache. It leads to weird fails when user tries to run SQL over PUBLIC schema, and may fail in other cases when cache name is different from schema name. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14174) Python thin: returns the time value + the client's time zone, instead of the time value from the database.
Igor Sapego created IGNITE-14174: Summary: Python thin: returns the time value + the client's time zone, instead of the time value from the database. Key: IGNITE-14174 URL: https://issues.apache.org/jira/browse/IGNITE-14174 Project: Ignite Issue Type: Bug Reporter: Igor Sapego The server is located in Europe, the client is in the Moscow time zone: {code:python} from pyignite import Client from datetime import datetime c = Client(username='', password='', use_ssl=False) c.connect('35.158.109.154', 10800) c.sql('create table test(key int primary key, date datetime)') current_time = datetime.now() c.sql(f"insert into test (key, date) VALUES (1, '{current_time}')") for row in c.sql('SELECT date FROM test'): print(current_time, row[0][0]) c.close() {code} output: {code:python} 2021-01-20 12:28:44.850381 2021-01-20 15:28:44.85 {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14162) Python thin gives ambiguous message when using a wrong username/password to connect
Igor Sapego created IGNITE-14162: Summary: Python thin gives ambiguous message when using a wrong username/password to connect Key: IGNITE-14162 URL: https://issues.apache.org/jira/browse/IGNITE-14162 Project: Ignite Issue Type: Improvement Components: python, thin client Affects Versions: python-0.3.4 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: python-0.4.0 Starting a server w/authentication, then connecting to it via a python thin client w/an incorrect username and password. The message/stacktrace is ambiguous leading clients to believe that they've connected, and something is amiss w/the server. {code:python}client = Client(username='incorrect-user-name', password='incorrect-password', use_ssl=False) client.connect('127.0.0.1', 10800) #client(nodes) print("connected to: ".format(client)) print("cache names: ".format(client.get_cache_names)){code} the stacktrace is : {code:python}connected to: Traceback (most recent call last): cache names: File "C:/dev/python-thin-client/examples/get_and_put.py", line 30, in print(client.get_cache_names()) File "C:\dev\python-thin-client\pyignite\utils.py", line 249, in ste_wrapper result = fn(*args, **kwargs) File "C:\dev\python-thin-client\pyignite\client.py", line 521, in get_cache_names return cache_get_names(self.random_node) File "C:\dev\python-thin-client\pyignite\utils.py", line 273, in wrapper return func(obj, *args, **kwargs) File "C:\dev\python-thin-client\pyignite\client.py", line 222, in random_node raise ReconnectError('Can not reconnect: out of nodes.') from None pyignite.exceptions.ReconnectError: Can not reconnect: out of nodes.{code} *ReconnectError: Can not reconnect: out of nodes exception*: allows the user to make the conclusion that the connection is successful, but something is wrong with the server. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14127) Python Thin: increase default query page size
Igor Sapego created IGNITE-14127: Summary: Python Thin: increase default query page size Key: IGNITE-14127 URL: https://issues.apache.org/jira/browse/IGNITE-14127 Project: Ignite Issue Type: Improvement Components: python, thin client Affects Versions: python-0.3.4 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: python-0.4.0 Python has query cursor page size set to 1 by default, which is inefficient. Other clients use 1024. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14099) CPP: Remove 32-bit configs
Igor Sapego created IGNITE-14099: Summary: CPP: Remove 32-bit configs Key: IGNITE-14099 URL: https://issues.apache.org/jira/browse/IGNITE-14099 Project: Ignite Issue Type: Bug Components: platforms Affects Versions: 2.9.1 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.11 32-bit test config files are not needed anymore, as we do not run them anyway. Remove them. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14075) Python client incorrect hash code calculation for classes as composite keys
Igor Sapego created IGNITE-14075: Summary: Python client incorrect hash code calculation for classes as composite keys Key: IGNITE-14075 URL: https://issues.apache.org/jira/browse/IGNITE-14075 Project: Ignite Issue Type: Bug Components: python, thin client Affects Versions: python-0.3.4 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: python-0.4.0 Python code calculates hash codes for simple binary objects incorrectly, such as ones containing just int and string. Leading to possibility of putting same key twice with same key column values, but different hash code, visible as two rows, and also impossibility of getting entries populated via SQL. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14059) Thin Python client doesn't work with nested complex objects
Igor Sapego created IGNITE-14059: Summary: Thin Python client doesn't work with nested complex objects Key: IGNITE-14059 URL: https://issues.apache.org/jira/browse/IGNITE-14059 Project: Ignite Issue Type: Bug Components: python, thin client Affects Versions: python-0.3.4 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: python-0.4.0 Attachments: main.py Reproducer attached. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14058) Python Thin client: get boolean type return integers
Igor Sapego created IGNITE-14058: Summary: Python Thin client: get boolean type return integers Key: IGNITE-14058 URL: https://issues.apache.org/jira/browse/IGNITE-14058 Project: Ignite Issue Type: Bug Components: python, thin client Affects Versions: python-0.3.4 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: python-0.4.0 Steps: - put boolean value in cluster {code} from pyignite import Client from pyignite.datatypes import * client = Client() client.connect('127.0.0.1', 10800) cache = client.get_or_create_cache("test") cache.put(1, [True, False], key_hint=IntObject, value_hint=BoolArrayObject) {code} - get value {code} from pyignite import Client from pyignite.datatypes import * client = Client() client.connect('127.0.0.1', 10800) cache = client.get_or_create_cache("test") result = cache.get(1, key_hint=IntObject) print(*[str(arr_item).lower() for arr_item in result]) {code} Actual: - return integers {code} 0 1 {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14057) Python thin: implement support for big-endianness
Igor Sapego created IGNITE-14057: Summary: Python thin: implement support for big-endianness Key: IGNITE-14057 URL: https://issues.apache.org/jira/browse/IGNITE-14057 Project: Ignite Issue Type: Bug Components: python, thin client Affects Versions: python-0.3.4 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: python-0.4.0 Currently, big endian byte order is not supported in Python Thin client. Need to implement. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14056) Python thin: Readme and other docs are outdated
Igor Sapego created IGNITE-14056: Summary: Python thin: Readme and other docs are outdated Key: IGNITE-14056 URL: https://issues.apache.org/jira/browse/IGNITE-14056 Project: Ignite Issue Type: Bug Components: python, thin client Reporter: Igor Sapego Assignee: Igor Sapego The readme files for thin clients should be updated accordingly as now they're separate products be following rules: * readme is located in root directory * how to install from zip * how to upgrade if a previous version installed -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13997) CPP Thin: Transactions can cause deadlock when client shared in multiple threads
Igor Sapego created IGNITE-13997: Summary: CPP Thin: Transactions can cause deadlock when client shared in multiple threads Key: IGNITE-13997 URL: https://issues.apache.org/jira/browse/IGNITE-13997 Project: Ignite Issue Type: Bug Components: thin client Affects Versions: 2.9.1 Reporter: Igor Sapego In our tests we have detected a deadlock when following piece of code is executed for more than one thread on our application: {code:cpp} ClientTransactions transactions = client.ClientTransactions(); ClientTransaction tx = transactions.TxStart(PESSIMISTIC, READ_COMMITTED); // This call should atomically get the current value for "key" and put "value" instead, locking the "key" cache entry at the same time auto oldValue = cache.GetAndPut(key, value); // Only the thread able of locking "key" should reach this code. Others have to wait for tx.Commit() to complete cache.Put (key, newValue); // After this call, other thread waiting in GetAndPut for "key" to be released should be able of continuing tx.Commit (); {code:cpp} The thread reaching "cache.Put (key, newValue);" call, gets blocked in there, concretely in the lockGuard object created at the beginning of DataChannel::InternalSyncMessage function (data_channel.cpp:108). After debugging, we realized that this lockGuard is owned by a different thread, which is currently waiting on socket while executing GetAndPut function. According to this, my guess is that data routing for C++ Thin Clients is not multithread friendly. Reported in http://apache-ignite-users.70518.x6.nabble.com/Multithread-transactions-in-a-C-Thin-Client-td35145.html -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13909) Node.js client glob dependency is missing
Igor Sapego created IGNITE-13909: Summary: Node.js client glob dependency is missing Key: IGNITE-13909 URL: https://issues.apache.org/jira/browse/IGNITE-13909 Project: Ignite Issue Type: Bug Components: thin client Reporter: Igor Sapego Assignee: Igor Sapego This results in following errors: {noformat} Suite error: sql query test suite > Message: Failed: Cannot find module 'glob' Stack: error properties: Object({ code: 'MODULE_NOT_FOUND' }) Error: Cannot find module 'glob' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15) at Function.Module._load (internal/modules/cjs/loader.js:562:25) at Module.require (internal/modules/cjs/loader.js:692:17) at require (internal/modules/cjs/helpers.js:25:18) at Function.getLogFiles (D:\Development\git\ignite-nodejs-thin-client\spec\TestingHelper.js:478:22) at Function.clearLogs (D:\Development\git\ignite-nodejs-thin-client\spec\TestingHelper.js:486:39) at Function._startNode (D:\Development\git\ignite-nodejs-thin-client\spec\TestingHelper.js:491:23) at Function.startTestServer (D:\Development\git\ignite-nodejs-thin-client\spec\TestingHelper.js:350:57) at Function.startTestServers (D:\Development\git\ignite-nodejs-thin-client\spec\TestingHelper.js:340:33) at Function.init (D:\Development\git\ignite-nodejs-thin-client\spec\TestingHelper.js:211:29) {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13908) ODBC driver should show real nullability info
Igor Sapego created IGNITE-13908: Summary: ODBC driver should show real nullability info Key: IGNITE-13908 URL: https://issues.apache.org/jira/browse/IGNITE-13908 Project: Ignite Issue Type: Improvement Components: odbc Affects Versions: 2.9 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.10 Currently, it always return SQL_NULLABLE_UNKNOWN on request of nullability type of the column. Let's provide that information to the user of ODBC driver -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13907) CPP thin: allow user to limit number of max active connections per client
Igor Sapego created IGNITE-13907: Summary: CPP thin: allow user to limit number of max active connections per client Key: IGNITE-13907 URL: https://issues.apache.org/jira/browse/IGNITE-13907 Project: Ignite Issue Type: New Feature Components: thin client Affects Versions: 2.9 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.10 Thin clients now can establish connections with multiple servers simultaneously. It is implemented this way to make partition awareness [1] work or for fast failover if partition awareness is not used. However, sometimes it can create excessive load for cluster in use cases when there are a lot of thin clients. We should give user a possibility to limit maximum number of active connections established by a client. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13900) CPP: Fix test flaky Affinity tests
Igor Sapego created IGNITE-13900: Summary: CPP: Fix test flaky Affinity tests Key: IGNITE-13900 URL: https://issues.apache.org/jira/browse/IGNITE-13900 Project: Ignite Issue Type: Bug Components: platforms Affects Versions: 2.9 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.10 Some CPP affinity tests are flaky on TC. For example, IgniteAffinityMapPartitionsToNodes, IgniteAffinityCall, IgniteAffinityCallAsync. Need to fix them. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13863) Python thin client hangs when object has Boolean field
Igor Sapego created IGNITE-13863: Summary: Python thin client hangs when object has Boolean field Key: IGNITE-13863 URL: https://issues.apache.org/jira/browse/IGNITE-13863 Project: Ignite Issue Type: Bug Components: thin client Affects Versions: 2.9 Reporter: Igor Sapego Assignee: Igor Sapego The first run of python client returns empty result set, all consequence runs just hang: {code:java} from pygridgain import Client, GenericObjectMeta import collections from pygridgain.datatypes import * if __name__ == '__main__': client = Client() client.connect('localhost', 10800) cache = client.get_cache('Batch') #client.register_binary_type(BatchConfigurationPK) #client.register_binary_type(BatchConfiguration) result = cache.scan() print([b for b in result]) {code} {code:java} public class ObjectTest { @QuerySqlField private String field1; @QuerySqlField private String field2; @QuerySqlField private String field3; @QuerySqlField private String field4; @QuerySqlField private Boolean enabled; public ObjectTest(String field1, String field2, String field3) { this.field1 = field1; this.field2 = field2; this.field3 = field3; } } {code} {code:java} public static void main(String[] args) throws IgniteException { Ignite ignite = Ignition.start("examples/config/example-ignite.xml"); IgniteCache cache = ignite.getOrCreateCache("Batch"); for (int i = 0; i < 100; i++) { cache.put(i, new ObjectTest("" + i, "" + i, "" + i)); } } {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13825) Decimal columns in SQL result set have invalid precision and scale
Igor Sapego created IGNITE-13825: Summary: Decimal columns in SQL result set have invalid precision and scale Key: IGNITE-13825 URL: https://issues.apache.org/jira/browse/IGNITE-13825 Project: Ignite Issue Type: Improvement Components: sql Affects Versions: 2.9 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.10 If the SQL result set of contains Decimal column it now returns MAX_SHORT as precision and MAX_USHORT as scale, no matter what is the precision and scale of the original table column. SQL: {code:sql} create table person(id int, name character(10), age decimal(3,0), primary key (id)); {code} Java (from internal component) {code:java} GridQueryFieldMetadata meta = kernal.query().getIndexing().resultMetaData( "PUBLIC", "select age from person;" ).iterator().next(); assert meta.precision() == 3; assert meta.scale() == 0; {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13801) ODBC: Check ODBC driver with Ab Initio and fix all issues
Igor Sapego created IGNITE-13801: Summary: ODBC: Check ODBC driver with Ab Initio and fix all issues Key: IGNITE-13801 URL: https://issues.apache.org/jira/browse/IGNITE-13801 Project: Ignite Issue Type: Improvement Components: odbc Affects Versions: 2.9 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.10 I want to check our ODBC driver with Ab Initio and fix issues if there are any. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13793) ODBC: Implement SQLRowCount for select queries
Igor Sapego created IGNITE-13793: Summary: ODBC: Implement SQLRowCount for select queries Key: IGNITE-13793 URL: https://issues.apache.org/jira/browse/IGNITE-13793 Project: Ignite Issue Type: Improvement Components: odbc Affects Versions: 2.9 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.10 SQLRowCount() should return estimation of row count of the query. Currently, we can not provide any estimations of this kind, but we still need to implement this function as sometimes some third-party software uses it. It is proposed to use some kind of constant value, e.g. page size. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13774) Create TC suites for release Python Node.js and PHP clients
Igor Sapego created IGNITE-13774: Summary: Create TC suites for release Python Node.js and PHP clients Key: IGNITE-13774 URL: https://issues.apache.org/jira/browse/IGNITE-13774 Project: Ignite Issue Type: Improvement Components: thin client Affects Versions: 2.9 Environment: Create TC suites for release of new clients Reporter: Igor Sapego Fix For: 2.10 We now have separate repos for Python, Node.js and PHP thin clients. Need to create a TC suites to release them as a separate packages on Ignite site and in pip, npm and composer. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13771) ODBC crashes on Linux if SQLConnect is called
Igor Sapego created IGNITE-13771: Summary: ODBC crashes on Linux if SQLConnect is called Key: IGNITE-13771 URL: https://issues.apache.org/jira/browse/IGNITE-13771 Project: Ignite Issue Type: Bug Components: odbc Affects Versions: 2.9 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.10 According to user report the following line {code:cpp} et = SQLConnect(dbc, (SQLCHAR*)DSN, SQL_NTS, (SQLCHAR*)"", SQL_NTS, (SQLCHAR*)"", SQL_NTS); {code:cpp} Gives the following result: {noformat} symbol lookup error: /usr/local/lib/libignite-odbc.so: undefined symbol: SQLGetPrivateProfileString {noformat} Details can be found on userlist: https://lists.apache.org/thread.html/r023842d3fa08d9e7c6e8dd6686efaa85b46ea2b14dd22883eecfbe17%40 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13767) Remove Python PHP and Node.js thin clients from main repository
Igor Sapego created IGNITE-13767: Summary: Remove Python PHP and Node.js thin clients from main repository Key: IGNITE-13767 URL: https://issues.apache.org/jira/browse/IGNITE-13767 Project: Ignite Issue Type: Improvement Components: thin client Affects Versions: 2.9 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.10 Need to remove the following directories, as we now have separate repos for Python, Node.js and PHP thin clients: modules/platforms/python modules/platforms/nodejs modules/platforms/php Also, need to check all the places in code where those directories are referenced. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13737) Move PHP thin client to a separate git repo
Igor Sapego created IGNITE-13737: Summary: Move PHP thin client to a separate git repo Key: IGNITE-13737 URL: https://issues.apache.org/jira/browse/IGNITE-13737 Project: Ignite Issue Type: Improvement Components: thin client Affects Versions: 2.9 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.10 We now have separate repo for PHP thin client. Need to move PHP thin client from ignite/modules/platforms/php to [https://gitbox.apache.org/repos/asf/ignite-php-thin-client.git|https://gitbox.apache.org/repos/asf/ignite-python-thin-client.git] preserving git history. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13736) Move Node.js thin client to a separate git repo
Igor Sapego created IGNITE-13736: Summary: Move Node.js thin client to a separate git repo Key: IGNITE-13736 URL: https://issues.apache.org/jira/browse/IGNITE-13736 Project: Ignite Issue Type: Improvement Components: thin client Affects Versions: 2.9 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.10 We now have separate repo for Node.js thin client. Need to move Node.js thin client from ignite/modules/platforms/nodejs to [https://gitbox.apache.org/repos/asf/ignite-nodejs-thin-client.git|https://gitbox.apache.org/repos/asf/ignite-python-thin-client.git] preserving git history. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13735) Move Python thin client to a separate git repo
Igor Sapego created IGNITE-13735: Summary: Move Python thin client to a separate git repo Key: IGNITE-13735 URL: https://issues.apache.org/jira/browse/IGNITE-13735 Project: Ignite Issue Type: Improvement Components: thin client Affects Versions: 2.9 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.10 We now have separate repo for Python thin client. Need to move python thin client from ignite/modules/platforms/python to [https://gitbox.apache.org/repos/asf/ignite-python-thin-client.git] preserving git history. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13637) ODBC: Add support of SQL_ATTR_ROW_ARRAY_SIZE with value more than one
Igor Sapego created IGNITE-13637: Summary: ODBC: Add support of SQL_ATTR_ROW_ARRAY_SIZE with value more than one Key: IGNITE-13637 URL: https://issues.apache.org/jira/browse/IGNITE-13637 Project: Ignite Issue Type: Improvement Components: odbc Affects Versions: 2.9 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.9.1 Currently, we only support fetching of result set one by one. Implement fetching in a batch. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13636) ODBC driver assigns SQL_BINARY type to DATE fields
Igor Sapego created IGNITE-13636: Summary: ODBC driver assigns SQL_BINARY type to DATE fields Key: IGNITE-13636 URL: https://issues.apache.org/jira/browse/IGNITE-13636 Project: Ignite Issue Type: Bug Components: odbc Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.9.1 "The DATE types should not be reported as SQL_BINARY. They should be returned as SQL_DATE" {noformat} DATE_FIELD DataType SQL_BINARY, DecimalDigits 0, Nullable 2, ColumnSize 10, UnsignedNumber 1, is_output_column {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13484) C++ odbc-example losing some values if run with 1 additional node
Igor Sapego created IGNITE-13484: Summary: C++ odbc-example losing some values if run with 1 additional node Key: IGNITE-13484 URL: https://issues.apache.org/jira/browse/IGNITE-13484 Project: Ignite Issue Type: Bug Components: odbc Affects Versions: 2.8.1 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.10 Case: - run 1 additional node - run odbc-example Actual: {code} >>> Cache ODBC example started. >>> Getting list of persons: >>> John Doe Master Degree. 2200 >>> John Smith Bachelor Degree. 1700 >>> Jane Smith Master Degree. 2500 >>> John Roe Bachelor Degree. 1500 >>> Jane Roe Bachelor Degree. 1000 >>> Richard Miles Master Degree. 2400 >>> Mary Major Bachelor Degree. 900 >>> Jane Doe Bachelor Degree. 1300 >>> Getting average salary by degree: >>> Bachelor Degree. 1280 >>> Master Degree. 2366.67 >>> Getting people with organizations: >>> John Doe Microsoft >>> Richard Miles Microsoft >>> Adjusted salary for Mary Major. Querying again. >>> Getting list of persons: >>> John Doe Master Degree. 2200 >>> John Smith Bachelor Degree. 1700 >>> Jane Smith Master Degree. 2500 >>> John Roe Bachelor Degree. 1500 >>> Jane Roe Bachelor Degree. 1000 >>> Richard Miles Master Degree. 2400 >>> Mary Major Bachelor Degree. 1200 >>> Jane Doe Bachelor Degree. 1300 >>> Getting average salary by degree: >>> Bachelor Degree. 1340 >>> Master Degree. 2366.67 >>> Getting people with organizations: >>> John Doe Microsoft >>> Richard Miles Microsoft >>> Removing several employees. Querying again. >>> Getting list of persons: >>> John Doe Master Degree. 2200 >>> John Smith Bachelor Degree. 1700 >>> Jane Roe Bachelor Degree. 1000 >>> Richard Miles Master Degree. 2400 >>> Mary Major Bachelor Degree. 1200 >>> Jane Doe Bachelor Degree. 1300 >>> Getting average salary by degree: >>> Bachelor Degree. 1300 >>> Master Degree. 2300 >>> Getting people with organizations: >>> John Doe Microsoft >>> Richard Miles Microsoft [12:10:00] Ignite node stopped OK [uptime=00:00:00.876] >>> Example finished, press 'Enter' to exit ... {code} Output with 0 addition nodes {code} >>> Cache ODBC example started. >>> Getting list of persons: >>> John Doe Master Degree. 2200 >>> Jane Doe Bachelor Degree. 1300 >>> John Smith Bachelor Degree. 1700 >>> Jane Smith Master Degree. 2500 >>> John Roe Bachelor Degree. 1500 >>> Jane Roe Bachelor Degree. 1000 >>> Richard Miles Master Degree. 2400 >>> Mary Major Bachelor Degree. 900 >>> Getting average salary by degree: >>> Bachelor Degree. 1280 >>> Master Degree. 2366.67 >>> Getting people with organizations: >>> John Doe Microsoft >>> Jane Doe Microsoft >>> John Smith Red Cross >>> Jane Smith Red Cross >>> John Roe Red Cross >>> Jane Roe Red Cross >>> Richard Miles Microsoft >>> Mary Major Red Cross >>> Adjusted salary for Mary Major. Querying again. >>> Getting list of persons: >>> John Doe Master Degree. 2200 >>> Jane Doe Bachelor Degree. 1300 >>> John Smith Bachelor Degree. 1700 >>> Jane Smith Master Degree. 2500 >>> John Roe Bachelor Degree. 1500 >>> Jane Roe Bachelor Degree. 1000 >>> Richard Miles Master Degree. 2400 >>> Mary Major Bachelor Degree. 1200 >>> Getting average salary by degree: >>> Bachelor Degree. 1340 >>> Master Degree. 2366.67 >>> Getting people with organizations: >>> John Doe Microsoft >>> Jane Doe Microsoft >>> John Smith Red Cross >>> Jane Smith Red Cross >>> John Roe Red Cross >>> Jane Roe Red Cross >>> Richard Miles Microsoft >>> Mary Major Red Cross >>> Removing several employees. Querying again. >>> Getting list of persons: >>> John Doe Master Degree. 2200 >>> Jane Doe Bachelor Degree. 1300 >>> John Smith Bachelor Degree. 1700 >>> Jane Roe Bachelor Degree. 1000 >>> Richard Miles Master Degree. 2400 >>> Mary Major Bachelor Degree. 1200 >>> Getting average salary by degree: >>> Bachelor Degree. 1300 >>> Master Degree. 2300 >>> Getting people with organizations: >>> John Doe Microsoft >>> Jane Doe Microsoft >>> John Smith Red Cross >>> Jane Roe Red Cross >>> Richard Miles Microsoft >>> Mary Major Red Cross [12:08:42] Ignite node stopped OK [uptime=00:00:00.687] >>> Example finished, press 'Enter' to exit ... {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13174) C++: Add Windows support to CMake build system
Igor Sapego created IGNITE-13174: Summary: C++: Add Windows support to CMake build system Key: IGNITE-13174 URL: https://issues.apache.org/jira/browse/IGNITE-13174 Project: Ignite Issue Type: Bug Components: platforms Affects Versions: 2.8.1 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.9 Ticket IGNITE-13078 adds CMake build system support, but only for Linux. Need make sure it works on Windows and create TC job for it. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13116) CPP: Can not compile using msvc 15
Igor Sapego created IGNITE-13116: Summary: CPP: Can not compile using msvc 15 Key: IGNITE-13116 URL: https://issues.apache.org/jira/browse/IGNITE-13116 Project: Ignite Issue Type: Bug Components: platforms Affects Versions: 2.8.1 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.9 There are linking errors when trying to build Ignite C++ with msvc 15. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13107) ODBC: Memory leak in the tests
Igor Sapego created IGNITE-13107: Summary: ODBC: Memory leak in the tests Key: IGNITE-13107 URL: https://issues.apache.org/jira/browse/IGNITE-13107 Project: Ignite Issue Type: Improvement Components: odbc Reporter: Igor Sapego Fix For: 2.9 The memory leak, which is reproducible on TC Windows debug configuration, have place in case of odce-test unit tests executing. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13008) Java thin client: Imlpement compatibility suite
Igor Sapego created IGNITE-13008: Summary: Java thin client: Imlpement compatibility suite Key: IGNITE-13008 URL: https://issues.apache.org/jira/browse/IGNITE-13008 Project: Ignite Issue Type: Improvement Components: thin client Reporter: Igor Sapego Fix For: 2.9 We need to implement a test suite which is going to cross-test new client with all previous versions of server, and new server with all released versions of client if possible. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12936) .NET inspections fail on master
Igor Sapego created IGNITE-12936: Summary: .NET inspections fail on master Key: IGNITE-12936 URL: https://issues.apache.org/jira/browse/IGNITE-12936 Project: Ignite Issue Type: Bug Components: platforms Reporter: Igor Sapego Assignee: Igor Sapego The following suites are failing: [Platform .NET (NuGet) |https://ci.ignite.apache.org/buildConfiguration/IgniteTests24Java8_PlatformNetNuGet?branch=%3Cdefault%3E] [Platform .NET (Inspections) |https://ci.ignite.apache.org/buildConfiguration/IgniteTests24Java8_PlatformNetInspections?branch=%3Cdefault%3E] -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12853) ThinClient: Introduce Features for thin clients
Igor Sapego created IGNITE-12853: Summary: ThinClient: Introduce Features for thin clients Key: IGNITE-12853 URL: https://issues.apache.org/jira/browse/IGNITE-12853 Project: Ignite Issue Type: Bug Components: thin client Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.8.1 As we have a lot of different thin clients now, maintained by different people, the issues with our backward compatibility mechanism becomes more and more prominent. Currently, we use protocol versioning as the only approach to provide backward compatibility. The main issue of this approach is that we can not skip some change in protocol and implement i.e. protocol of version 1.5 without implementation of 1.4. There are many cases when one may want to do so: e.g. when feature provided in 1.4 is not relevant for a specific client, or when protocol version 1.5 contains urgent fix or feature which is easy to implement, but its blocked by not-so-urgent and hard-to-implement feature introduced in 1.4. So to fix this issue I propose to introduce another backward compatibility mechanism. The idea is to send "supported features" mask by a client to a server, which should be answered with the same mask by the server. The resulting set of enabled features is acquired with a simple logical "AND" operation on these two masks. This change has many other positive effects: 1. It improves readability and also potentially simplifies debugging. 2. It gives users the ability to enable or disable features of thin clients on both server and client as they desire. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-11875) Thin client is unable to authenticate with long password
Igor Sapego created IGNITE-11875: Summary: Thin client is unable to authenticate with long password Key: IGNITE-11875 URL: https://issues.apache.org/jira/browse/IGNITE-11875 Project: Ignite Issue Type: Bug Components: jdbc, odbc, thin client Affects Versions: 2.7 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.8 Token authentication could use long usernames/passwords, that leads to "Invalid handshake message" ClientListenerNioServerBuffer: {code:java} if (cnt == msgSize) { byte[] data0 = data; reset(); return data0; } else { if (checkHandshake && cnt > 0 && (msgSize > ClientListenerNioListener.MAX_HANDSHAKE_MSG_SIZE || data[0] != ClientListenerRequest.HANDSHAKE)) throw new IgniteCheckedException("Invalid handshake message"); return null; } {code} The reproducer is attached. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11845) ODBC driver works in a wrong way with UTF-16 encoding on Linux
Igor Sapego created IGNITE-11845: Summary: ODBC driver works in a wrong way with UTF-16 encoding on Linux Key: IGNITE-11845 URL: https://issues.apache.org/jira/browse/IGNITE-11845 Project: Ignite Issue Type: Bug Components: odbc Affects Versions: 2.7 Reporter: Igor Sapego When ones run a SQL statement, like {{SELECT Id FROM MyTable}}, the value is "garbled" returning a value like 8\00\05\07\09\0d\09\08\0-\0 for the the Id column. It's similar to the expected value, though, which is 80579d98-9010-4610-b12e-ed33ed7d3c62. When SQLLine tool is used, the values are not "garbled". This behaviour can be only observed on Linux. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11787) Thin client: Protocol version conflict in master
Igor Sapego created IGNITE-11787: Summary: Thin client: Protocol version conflict in master Key: IGNITE-11787 URL: https://issues.apache.org/jira/browse/IGNITE-11787 Project: Ignite Issue Type: Bug Components: thin client Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.8 Two independent tickets (IGNITE-11043 and IGNITE-9113) introduced two different thin protocol versions - one for Affinity Awareness and another is for the Lazy Memory Allocation. These two different protocol versions were given the same value - 1.3.0. It is proposed to change one of versions to 1.4.0. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11768) CPP documentation:mention default BinaryType methods implementation
Igor Sapego created IGNITE-11768: Summary: CPP documentation:mention default BinaryType methods implementation Key: IGNITE-11768 URL: https://issues.apache.org/jira/browse/IGNITE-11768 Project: Ignite Issue Type: Task Components: documentation Affects Versions: 2.7 Reporter: Igor Sapego Fix For: 2.8 Mention BinaryTypeDefaultHashing, BinaryTypeNonNullableType and BinaryTypeDefaultAll classes introduced in IGNITE-11703 in documentation. Also, use them where it is possible and appropriate in code snippets. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11758) Python thin: a lot of documentation files without license header
Igor Sapego created IGNITE-11758: Summary: Python thin: a lot of documentation files without license header Key: IGNITE-11758 URL: https://issues.apache.org/jira/browse/IGNITE-11758 Project: Ignite Issue Type: Bug Components: documentation, thin client Affects Versions: 2.7 Reporter: Igor Sapego Fix For: 2.8 There are a lot of .rst documentation files in modules/platforms/python/docs/ that does not contain license header. We need either delete them if they are auto generated or add headers to them if they are not. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11748) Node.js thin: auto-generated documentation stored in Git
Igor Sapego created IGNITE-11748: Summary: Node.js thin: auto-generated documentation stored in Git Key: IGNITE-11748 URL: https://issues.apache.org/jira/browse/IGNITE-11748 Project: Ignite Issue Type: Bug Components: documentation Affects Versions: 2.7 Reporter: Igor Sapego Fix For: 2.8 Currently, auto-generated documentation is stored in git in https://github.com/apache/ignite/tree/master/modules/platforms/nodejs/api_spec Only conf.json file should be stored in git. Also, need to add Apache licence header to it. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11731) CPP: Implement minimal Cluster API
Igor Sapego created IGNITE-11731: Summary: CPP: Implement minimal Cluster API Key: IGNITE-11731 URL: https://issues.apache.org/jira/browse/IGNITE-11731 Project: Ignite Issue Type: New Feature Components: platforms Affects Versions: 2.7 Reporter: Igor Sapego Fix For: 2.8 Let's start implementing Cluster API for C++. Desired functionality from Java: * ClusterNode.id() * ClusterNode.attribute() * IgniteCluster.active() * IgniteCluster.disableWal() * IgntieCluster.enableWal() * IgniteCluster.isWalEnabled() * IgniteClusterGroup.forAttribute() * IgniteClusterGroup.forDataNodes() * IgniteClusterGroup.forServers() Also, we need to have one platform-specific method: * IgniteClusterGroup.forCpp() -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11703) CPP: Add default BinaryType methods implementations where possible
Igor Sapego created IGNITE-11703: Summary: CPP: Add default BinaryType methods implementations where possible Key: IGNITE-11703 URL: https://issues.apache.org/jira/browse/IGNITE-11703 Project: Ignite Issue Type: Improvement Components: platforms Affects Versions: 2.7 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.8 Currently, most of specifications of {{BinaryType}} template have the same default implementations of certain methods, which may be implemented by default. Here is the list: {{GetTypeId}} {{GetFieldId}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11597) Node.js thin client UUID marshalling is wrong
Igor Sapego created IGNITE-11597: Summary: Node.js thin client UUID marshalling is wrong Key: IGNITE-11597 URL: https://issues.apache.org/jira/browse/IGNITE-11597 Project: Ignite Issue Type: Bug Components: thin client Affects Versions: 2.7 Reporter: Igor Sapego Fix For: 2.8 Trying to put uuid with Node.js client and get from Java or C++ client have different results NodeJS put 5fbeee4e-b2a6-44dc-99ac-6444d7fe7df6 {code} cache = (await igniteClient.getOrCreateCache("UUID_JS")) .setKeyType(ObjectType.PRIMITIVE_TYPE.INTEGER) .setValueType(ObjectType.PRIMITIVE_TYPE.UUID); key = 1; value = [95,190,238,78,178,166,68,220,153,172,100,68,215,254,125,246]; await cache.put(key, value); {code} Java get {code} ClientCache cache = igniteClient.getOrCreateCache("UUID_JS"); UUID id = cache.get(1); System.out.println(id); {code} Java output {code} dc44a6b2-4eee-be5f-f67d-fed74464ac99 {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11596) PHP thin client UUID marshalling is wrong
Igor Sapego created IGNITE-11596: Summary: PHP thin client UUID marshalling is wrong Key: IGNITE-11596 URL: https://issues.apache.org/jira/browse/IGNITE-11596 Project: Ignite Issue Type: Bug Components: thin client Affects Versions: 2.7 Reporter: Igor Sapego Trying to put uuid with PHP client and get from Java or C++ client have different results PHP put [238,15,47,237,224,122,66,220,170,89,127,143,199,56,10,205] = "ee0f2fed-e07a-42dc-aa59-7f8fc7380acd" {code} $cache = $client->getOrCreateCache("UUID_PH")->setKeyType(ObjectType::INTEGER)->setValueType(ObjectType::UUID); $cache->put(1,[238,15,47,237,224,122,66,220,170,89,127,143,199,56,10,205]); {code} Java get {code} ClientCache cache = igniteClient.getOrCreateCache("UUID_PH"); UUID id = cache.get(1); System.out.println(id); {code} Java output {code} dc427ae0-ed2f-0fee-cd0a-38c78f7f59aa {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11552) ODBC: Error while trying to get params meta for request with ODBC escape symbols
Igor Sapego created IGNITE-11552: Summary: ODBC: Error while trying to get params meta for request with ODBC escape symbols Key: IGNITE-11552 URL: https://issues.apache.org/jira/browse/IGNITE-11552 Project: Ignite Issue Type: Bug Components: odbc Affects Versions: 2.7 Reporter: Igor Sapego There is an error if one tries to get parameters meta for SQL with [ODBC escape symbols|https://docs.microsoft.com/en-us/sql/odbc/reference/appendixes/odbc-escape-sequences]. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11463) ODBC backward compatibility between 2.5 and 2.7 is broken
Igor Sapego created IGNITE-11463: Summary: ODBC backward compatibility between 2.5 and 2.7 is broken Key: IGNITE-11463 URL: https://issues.apache.org/jira/browse/IGNITE-11463 Project: Ignite Issue Type: Bug Components: odbc Affects Versions: 2.7, 2.6 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.8 ODBC driver with version 2.5 can not connect to server 2.6 or 2.7. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11043) CPP Thin: Improve Best Effort Affinity for C++ thin client
Igor Sapego created IGNITE-11043: Summary: CPP Thin: Improve Best Effort Affinity for C++ thin client Key: IGNITE-11043 URL: https://issues.apache.org/jira/browse/IGNITE-11043 Project: Ignite Issue Type: Improvement Components: thin client Affects Versions: 2.7 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.8 [IEP-23|https://cwiki.apache.org/confluence/display/IGNITE/IEP-23%3A+Best+Effort+Affinity+for+thin+clients] was updated recently, and we need to implement described changes in C++ thin client. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11027) CPP: Add support of compact footer for C++
Igor Sapego created IGNITE-11027: Summary: CPP: Add support of compact footer for C++ Key: IGNITE-11027 URL: https://issues.apache.org/jira/browse/IGNITE-11027 Project: Ignite Issue Type: Improvement Components: platforms Affects Versions: 2.7 Reporter: Igor Sapego Currently, compact footers are not supported by Ignite C++ and C++ thin clients. As they both share the same library - binary, we can add this support for both C++ thin and Ignite C++ at the same time. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10981) CPP: Heap corruption when running C++ tests in Debug mode
Igor Sapego created IGNITE-10981: Summary: CPP: Heap corruption when running C++ tests in Debug mode Key: IGNITE-10981 URL: https://issues.apache.org/jira/browse/IGNITE-10981 Project: Ignite Issue Type: Bug Components: platforms Affects Versions: 2.7 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.8 Currently, heap corruption is detected, when any C++ test is run in Debug mode. Need to find out the root cause and fix the issue. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10980) CPP: Create TC suite for Windows 64 Debug mode
Igor Sapego created IGNITE-10980: Summary: CPP: Create TC suite for Windows 64 Debug mode Key: IGNITE-10980 URL: https://issues.apache.org/jira/browse/IGNITE-10980 Project: Ignite Issue Type: Task Components: platforms Affects Versions: 2.7 Reporter: Igor Sapego Fix For: 2.8 Currently, there is a [Platform C++ (Windows x64)|https://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests24Java8_PlatformCWindowsX64=buildTypeStatusDiv_IgniteTests24Java8=__all_branches__] suite, which builds and runs tests in Release mode. It's OK, as we need to test Release mode in the first place, as this is the mode, in which user uses Ignite C++. But we also need to run tests in Debug mode, as in debug additional errors (such as heap corruption and memory leaks) can be detected. So it is proposed to rename "Platform C++ (Windows x64)" test suite to "Platform C++ (Windows x64 Release)" and add another suite "Platform C++ (Windows x64 Debug)", which will build and run tests in Debug mode. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10947) CPP: Fix documentation on how to build Ignite C++ on Linux
Igor Sapego created IGNITE-10947: Summary: CPP: Fix documentation on how to build Ignite C++ on Linux Key: IGNITE-10947 URL: https://issues.apache.org/jira/browse/IGNITE-10947 Project: Ignite Issue Type: Improvement Components: platforms Reporter: Igor Sapego We now have build step (IGNITE-10940) that performs following steps during release of the binary package of the Ignite: {code} # libtoolize # aclocal # autoheader # automake --add-missing # autoreconf {code} So we now should change documentation, that users only need to run following commands to build Ignite C++ from binary distribution of Ignite. {code} # ./configure # make {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10728) CPP: Move networking into separate library
Igor Sapego created IGNITE-10728: Summary: CPP: Move networking into separate library Key: IGNITE-10728 URL: https://issues.apache.org/jira/browse/IGNITE-10728 Project: Ignite Issue Type: Improvement Components: platforms Affects Versions: 2.7 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.8 Currently, there are two very similar parts in ODBC and C++ Thin Client, which implement networking functionality. We need to move this functionality into separate library. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10721) Documentation: Fix UUID thin client format description
Igor Sapego created IGNITE-10721: Summary: Documentation: Fix UUID thin client format description Key: IGNITE-10721 URL: https://issues.apache.org/jira/browse/IGNITE-10721 Project: Ignite Issue Type: Task Components: documentation, thin client Reporter: Igor Sapego Fix For: 2.8 UUID thin client format description [1] need to be fixed. The actual format of the UUID should be two longs, not a single 128-bit value. Two longs written in little-endian are not equal to one 128-bit number. [1] - https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-uuid-guid- -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10333) CPP: Move to newer C++ standard and drop VS 2010 support
Igor Sapego created IGNITE-10333: Summary: CPP: Move to newer C++ standard and drop VS 2010 support Key: IGNITE-10333 URL: https://issues.apache.org/jira/browse/IGNITE-10333 Project: Ignite Issue Type: Improvement Components: platforms Reporter: Igor Sapego Fix For: 3.0 Over time we were very conservative about language levels for our libraries to be able to target wider platforms. But it looks like some of them are way too old, what doing more harm than good. For C++ we still use C++03 standard, which 15 years old. C++11, C++14 and C++17 were released since then. I propose to plan upgrade to C++11 version at least. May be even C++14. Major improvements in C++11: 1) Standard threading model - we will be able to remove a lot platform-dependent code (atomics, shared pointers, etc) 2) Rvalues - most probably we will be able to benefit from move semantics in terms of both performance and cleaner API 3) Lambdas - this needs to be investigated, but may be we will be able to integrate them into our compute API. Also, we should take into account that even VS 2017 does not support all C++11 (and even C++03) features [1]. So, we should also drop support of VS 2010 and move to at least VS 2012. Features list for different VSs [2]. [1] - https://docs.microsoft.com/en-us/cpp/visual-cpp-language-conformance?view=vs-2017 [2] - https://msdn.microsoft.com/en-gb/library/hh567368.aspx?f=255=-2147217396 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10273) CPP Thin: Client is unable to get affinity mapping in some cases
Igor Sapego created IGNITE-10273: Summary: CPP Thin: Client is unable to get affinity mapping in some cases Key: IGNITE-10273 URL: https://issues.apache.org/jira/browse/IGNITE-10273 Project: Ignite Issue Type: Bug Components: thin client Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.8 Reproducer test: {code:cpp} BOOST_AUTO_TEST_CASE(CacheClientDefaultDynamicCacheThreeNodes) { StartNode("node1"); StartNode("node2"); IgniteClientConfiguration cfg; cfg.SetEndPoints("127.0.0.1:0..11120"); IgniteClient client = IgniteClient::Start(cfg); cache::CacheClient cache = client.CreateCache("defaultdynamic3"); cache.RefreshAffinityMapping(); for (int64_t i = 1; i < 1000; ++i) cache.Put(ignite::common::LexicalCast(i * 39916801), i * 5039); for (int64_t i = 1; i < 1000; ++i) { int64_t val; LocalPeek(cache, ignite::common::LexicalCast(i * 39916801), val); BOOST_CHECK_EQUAL(val, i * 5039); } } {code:cpp} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10147) CPP thin: Headers are not installed on make install
Igor Sapego created IGNITE-10147: Summary: CPP thin: Headers are not installed on make install Key: IGNITE-10147 URL: https://issues.apache.org/jira/browse/IGNITE-10147 Project: Ignite Issue Type: Bug Components: platforms, thin client Reporter: Igor Sapego Assignee: Igor Sapego Currently, {{make install}} command from {{platforms/cpp}} does not install headers for C++ thin client. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10093) Consider adding documentation page with performance analysis of thin clients
Igor Sapego created IGNITE-10093: Summary: Consider adding documentation page with performance analysis of thin clients Key: IGNITE-10093 URL: https://issues.apache.org/jira/browse/IGNITE-10093 Project: Ignite Issue Type: Task Components: documentation, thin client Reporter: Igor Sapego Maybe this is a good idea to add a page on readme.io where we will describe (without numbers) performance features of different thin clients. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10086) CPP: Update documentation stating Clang compiler as a supported
Igor Sapego created IGNITE-10086: Summary: CPP: Update documentation stating Clang compiler as a supported Key: IGNITE-10086 URL: https://issues.apache.org/jira/browse/IGNITE-10086 Project: Ignite Issue Type: Task Components: documentation Reporter: Igor Sapego Fix For: 2.7 Need to check all relevant documentation files (readme.io, modules/platforms/cpp/README.txt, modules/platforms/cpp/DEVNOTES.txt, modules/platforms/cpp/odbc/README.txt) and add Clang as a supported compiler if applicable. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10025) CPP: Runtime code deployment
Igor Sapego created IGNITE-10025: Summary: CPP: Runtime code deployment Key: IGNITE-10025 URL: https://issues.apache.org/jira/browse/IGNITE-10025 Project: Ignite Issue Type: New Feature Components: platforms Reporter: Igor Sapego Fix For: 2.8 It would be useful for a user to have an ability to deploy code (dll, so, etc) in cluster on a selected subset of nodes. This task can be split in a 3 steps: 1. Uploading module to selected subset of nodes. 2. Loading module dynamically on the whole subset. 3. Initializing of a module (i.e. registering callables, declared in the module within Ignite) This also may require partial implementation of a Cluster API - IGNITE-5708 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10009) ODBC: SQLColumns does not work for tables with escape sequences in name
Igor Sapego created IGNITE-10009: Summary: ODBC: SQLColumns does not work for tables with escape sequences in name Key: IGNITE-10009 URL: https://issues.apache.org/jira/browse/IGNITE-10009 Project: Ignite Issue Type: Bug Components: odbc Affects Versions: 2.6 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.8 Table names with escaped underscore '\_' or percent '\%' characters is not recognized by the ODBC driver. I.e. the following table pattern: {noformat} TEST\_TABLE {noformat} Should match the following table: {noformat} TEST_TABLE {noformat} But currently it does not. Needs to be fixed. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9922) Python thin: python directory should be included in binary release
Igor Sapego created IGNITE-9922: --- Summary: Python thin: python directory should be included in binary release Key: IGNITE-9922 URL: https://issues.apache.org/jira/browse/IGNITE-9922 Project: Ignite Issue Type: Bug Components: thin client Reporter: Igor Sapego Fix For: 2.7 Currently, python directory is not generated by the {{maven install}} command. Need to add appropriate copy steps to {{assembly/release-fabric-base.xml}} file. The following components should be copied: {noformat} ignite/modules/platforms/python/pyignite/** ignite/modules/platforms/python/requirements/** ignite/modules/platforms/python/LICENSE ignite/modules/platforms/python/README.md ignite/modules/platforms/python/setup.py {noformat} (** stands for "all the files and sub-folders recursively, starting from this folder".) -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9904) CPP Thin: Implement atomic part of Cache API for C++ thin client
Igor Sapego created IGNITE-9904: --- Summary: CPP Thin: Implement atomic part of Cache API for C++ thin client Key: IGNITE-9904 URL: https://issues.apache.org/jira/browse/IGNITE-9904 Project: Ignite Issue Type: New Feature Components: thin client Reporter: Igor Sapego Fix For: 2.8 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9891) ODBC: SQLTables does not work with list of table types
Igor Sapego created IGNITE-9891: --- Summary: ODBC: SQLTables does not work with list of table types Key: IGNITE-9891 URL: https://issues.apache.org/jira/browse/IGNITE-9891 Project: Ignite Issue Type: Bug Components: odbc Affects Versions: 2.6 Reporter: Igor Sapego Assignee: Igor Sapego {{SQLTables}} do not work with list of table types as stated in https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/sqltables-function?view=sql-server-2017 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9852) Create TeamCity suite for Python thin client
Igor Sapego created IGNITE-9852: --- Summary: Create TeamCity suite for Python thin client Key: IGNITE-9852 URL: https://issues.apache.org/jira/browse/IGNITE-9852 Project: Ignite Issue Type: Task Components: thin client Reporter: Igor Sapego Fix For: 2.7 Implementation of Python client is almost ready (IGNITE-7782). We need to figure out how to integrate it with TeamCity: 1) New suite for Python thin client is needed along with required environment 2) Suite should be able to run tests as described in the documentation [1] 3) Currently all tests rely on manually started external node. We need to create a set of scripts (bash?) to start/stop nodes locally just like in IGNITE-8463 [1] https://apache-ignite-binary-protocol-client.readthedocs.io/en/latest/readme.html#testing -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9850) Python thin: Find out the cause of the python's client low performance
Igor Sapego created IGNITE-9850: --- Summary: Python thin: Find out the cause of the python's client low performance Key: IGNITE-9850 URL: https://issues.apache.org/jira/browse/IGNITE-9850 Project: Ignite Issue Type: Task Components: thin client Affects Versions: 2.7 Reporter: Igor Sapego Fix For: 2.8 According to benchmarks results reported by IGNITE-9824, python thin client is 3 to 4 times slower than Java client. We need to find out the root cause of this and if we can fix it. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9823) Create TeamCity suite for PHP thin client
Igor Sapego created IGNITE-9823: --- Summary: Create TeamCity suite for PHP thin client Key: IGNITE-9823 URL: https://issues.apache.org/jira/browse/IGNITE-9823 Project: Ignite Issue Type: Task Components: thin client Reporter: Igor Sapego Fix For: 2.7 Implementation of PHP client is almost ready (IGNITE-7783). We need to figure out how to integrate it with TeamCity: 1) New suite for PHP thin client is needed along with required environment 2) Suite should be able to run tests as described in the readme [1] 3) Currently all tests rely on manually started external node. We need to create a set of scripts (bash?) to start/stop nodes locally just like in IGNITE-8463 [1] https://github.com/nobitlost/ignite/blob/ignite-7783-docs/modules/platforms/php/README.md#tests -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9583) PHP thin: php directory should be included in binary release
Igor Sapego created IGNITE-9583: --- Summary: PHP thin: php directory should be included in binary release Key: IGNITE-9583 URL: https://issues.apache.org/jira/browse/IGNITE-9583 Project: Ignite Issue Type: Improvement Components: build, thin client Reporter: Igor Sapego Fix For: 2.7 Currently, php directory is not generated by the {{maven install}} command. Need to add appropriate copy steps to {{assembly/release-fabric-base.xml}} file. The following components should be copied: {noformat} ignite/modules/platforms/php/composer.json ignite/modules/platforms/php/src ignite/modules/platforms/php/examples {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9559) Node.js thin: nodejs directory does appear in platforms directory after maven install command
Igor Sapego created IGNITE-9559: --- Summary: Node.js thin: nodejs directory does appear in platforms directory after maven install command Key: IGNITE-9559 URL: https://issues.apache.org/jira/browse/IGNITE-9559 Project: Ignite Issue Type: Bug Components: build, thin client Reporter: Igor Sapego Fix For: 2.7 Currently, nodejs directory is not generated by the \{{maven install}} command. Need to add appropriate copy steps to \{{assembly/release-fabric-base.xml}} file. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9515) OBDC: Do not quote PUBLIC schema in ODBC metadata
Igor Sapego created IGNITE-9515: --- Summary: OBDC: Do not quote PUBLIC schema in ODBC metadata Key: IGNITE-9515 URL: https://issues.apache.org/jira/browse/IGNITE-9515 Project: Ignite Issue Type: Improvement Reporter: Igor Sapego PUBLIC schema does not require quoting so do not add quotes for it. Also, check, maybe it makes sense to avoid quoting whenever schema is in upper case and does not contain special characters. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9457) ODBC: Add connection attributes for streaming mode
Igor Sapego created IGNITE-9457: --- Summary: ODBC: Add connection attributes for streaming mode Key: IGNITE-9457 URL: https://issues.apache.org/jira/browse/IGNITE-9457 Project: Ignite Issue Type: New Feature Components: odbc Reporter: Igor Sapego Currently, streaming could be enabled only with the \{{set streaming on}} SQL statement. Add connection string attributes, so the connection is opened with active streaming mode. Suggested attributes list: {\{streaming}} {\{streamingBatchSize}} {\{streamingFlushFrequency}} {\{streamingPerNodeBufferSize}} {\{streamingPerNodeParallelOperations}} {\{streamingAllowOverwrite}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9456) ODBC: Implement asynchronous writing for streaming
Igor Sapego created IGNITE-9456: --- Summary: ODBC: Implement asynchronous writing for streaming Key: IGNITE-9456 URL: https://issues.apache.org/jira/browse/IGNITE-9456 Project: Ignite Issue Type: Improvement Components: odbc Reporter: Igor Sapego Currently, ODBC driver waits for responses to streaming messages it sends to the server. Implementation of asynchronous sending of such messages could fasten data streaming. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9342) The same SQL request with multiple statements produces different result
Igor Sapego created IGNITE-9342: --- Summary: The same SQL request with multiple statements produces different result Key: IGNITE-9342 URL: https://issues.apache.org/jira/browse/IGNITE-9342 Project: Ignite Issue Type: Bug Components: jdbc, odbc, sql Affects Versions: 2.6 Reporter: Igor Sapego The bug affects ODBC and JDBC. Simply speaking, the following code: {code:java} public static void main(String[] args) throws Exception { IgniteConfiguration cfg = new IgniteConfiguration(); cfg.setLocalHost("127.0.0.1"); try (Ignite ignite = Ignition.start(cfg)) { try (Connection conn = DriverManager.getConnection("jdbc:ignite:thin://127.0.0.1/")) { // Populate City table with PreparedStatement. try (PreparedStatement stmt = conn.prepareStatement("SELECT 1; SELECT 2")) { System.out.println("First run:"); executeAndFetch(stmt); System.out.println(); System.out.println("Second run:"); executeAndFetch(stmt); } } } } static void executeAndFetch(PreparedStatement stmt) throws SQLException { ResultSet set = stmt.executeQuery(); System.out.println(">>> First result set:"); while (set.next()) System.out.println(">>>" + set.getInt(1)); System.out.println(">>> Next result set:"); boolean nextRsPresent = stmt.getMoreResults(); if (!nextRsPresent) System.out.println(">>>Is not present"); else { set = stmt.getResultSet(); while (set.next()) System.out.println(">>>" + set.getInt(1)); } } {code} Produces the following output: {noformat} First run: >>> First result set: >>>1 >>> Next result set: >>>2 Second run: >>> First result set: >>>1 >>> Next result set: >>>Is not present{noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9293) CPP: Add API to set baseline topology for C++
Igor Sapego created IGNITE-9293: --- Summary: CPP: Add API to set baseline topology for C++ Key: IGNITE-9293 URL: https://issues.apache.org/jira/browse/IGNITE-9293 Project: Ignite Issue Type: New Feature Components: platforms Affects Versions: 2.6 Reporter: Igor Sapego Fix For: 2.7 We need to add API for C++ to set baseline topology. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9248) CPP: Support Clang compiler
Igor Sapego created IGNITE-9248: --- Summary: CPP: Support Clang compiler Key: IGNITE-9248 URL: https://issues.apache.org/jira/browse/IGNITE-9248 Project: Ignite Issue Type: Improvement Components: platforms Reporter: Igor Sapego Assignee: Igor Sapego Currently Ignite C++ can not be compiled with the clang compiler. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9161) CPP:
Igor Sapego created IGNITE-9161: --- Summary: CPP: Key: IGNITE-9161 URL: https://issues.apache.org/jira/browse/IGNITE-9161 Project: Ignite Issue Type: Improvement Reporter: Igor Sapego -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9109) CPP Thin: Implement SQL API
Igor Sapego created IGNITE-9109: --- Summary: CPP Thin: Implement SQL API Key: IGNITE-9109 URL: https://issues.apache.org/jira/browse/IGNITE-9109 Project: Ignite Issue Type: New Feature Components: platforms Affects Versions: 2.6 Reporter: Igor Sapego Need to implement SQL API for C++ thin client. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9079) ODBC: Implement protocol version automatic downgrage for old servers
Igor Sapego created IGNITE-9079: --- Summary: ODBC: Implement protocol version automatic downgrage for old servers Key: IGNITE-9079 URL: https://issues.apache.org/jira/browse/IGNITE-9079 Project: Ignite Issue Type: New Feature Components: odbc Affects Versions: 2.1 Reporter: Igor Sapego It could be useful for users to be able to connect to automatically connect to older servers with newer ODBC drivers. Automatic protocol version downgrade is needed for this purpose. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9078) Add documentation page with the list of ODBC versions
Igor Sapego created IGNITE-9078: --- Summary: Add documentation page with the list of ODBC versions Key: IGNITE-9078 URL: https://issues.apache.org/jira/browse/IGNITE-9078 Project: Ignite Issue Type: Improvement Components: documentation Affects Versions: 2.6 Reporter: Igor Sapego Currently, there are no documentation for ODBC versions and what are they was introduced for. A documentation page with version list and their description could help to fix this issue. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9074) ODBC: Wrong error message on handshake failure
Igor Sapego created IGNITE-9074: --- Summary: ODBC: Wrong error message on handshake failure Key: IGNITE-9074 URL: https://issues.apache.org/jira/browse/IGNITE-9074 Project: Ignite Issue Type: Bug Components: odbc Affects Versions: 2.1 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.7 Currently, on handshake failure ODBC driver prints the following message: {noformat} Unsupported version. Current node Apache Ignite version: X.X.X, driver protocol version introduced in version: Y.Y.Y. {noformat} It should say about node's *protocol* version, not the version of the node itself. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9033) .NET: specify expiry policy when creating cache using thin client
Igor Sapego created IGNITE-9033: --- Summary: .NET: specify expiry policy when creating cache using thin client Key: IGNITE-9033 URL: https://issues.apache.org/jira/browse/IGNITE-9033 Project: Ignite Issue Type: New Feature Components: platforms Reporter: Igor Sapego Need to add ability to create dynamic caches specifying expiry policy with thin client. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9014) CPP Thin: Thin client is not present in binary release
Igor Sapego created IGNITE-9014: --- Summary: CPP Thin: Thin client is not present in binary release Key: IGNITE-9014 URL: https://issues.apache.org/jira/browse/IGNITE-9014 Project: Ignite Issue Type: Bug Components: platforms Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.7 C++ thin client is not present in {{platforms/cpp}} upon binary release creation. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9008) CPP Thin: Implement benchmark for C++ thin
Igor Sapego created IGNITE-9008: --- Summary: CPP Thin: Implement benchmark for C++ thin Key: IGNITE-9008 URL: https://issues.apache.org/jira/browse/IGNITE-9008 Project: Ignite Issue Type: New Feature Components: platforms Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.7 We need a benchmark for C++ thin to understand how is its performance compares to to other clients. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9002) CPP Thin: Crash when used with not replicated cache
Igor Sapego created IGNITE-9002: --- Summary: CPP Thin: Crash when used with not replicated cache Key: IGNITE-9002 URL: https://issues.apache.org/jira/browse/IGNITE-9002 Project: Ignite Issue Type: Bug Components: platforms, thin client Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.7 Crash happens because of the unhandled case when cache has zero partitions. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8972) CPP Thin: Add thin client example
Igor Sapego created IGNITE-8972: --- Summary: CPP Thin: Add thin client example Key: IGNITE-8972 URL: https://issues.apache.org/jira/browse/IGNITE-8972 Project: Ignite Issue Type: Improvement Components: platforms Affects Versions: 2.5 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.7 Add thin C++ client example that shows its basic functionality. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8930) ODBC: Cursors are not closed when used through Go
Igor Sapego created IGNITE-8930: --- Summary: ODBC: Cursors are not closed when used through Go Key: IGNITE-8930 URL: https://issues.apache.org/jira/browse/IGNITE-8930 Project: Ignite Issue Type: Bug Components: odbc Affects Versions: 2.5 Reporter: Igor Sapego Fix For: 2.7 Client used: https://github.com/alexbrainman/odbc Example app for reproducing: [https://github.com/nombiezinja/ignite-cursor-example] After several execution of statements user begins to get the following error: {noformat} 2018/06/29 20:46:06 SQLExecute: {HY000} Too many open cursors (either close other open cursors or increase the limit through ClientConnectorConfiguration.maxOpenCursorsPerConnection) [maximum=128, current=128]{noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8794) CPP Thin: Implement Best Effort Affinity
Igor Sapego created IGNITE-8794: --- Summary: CPP Thin: Implement Best Effort Affinity Key: IGNITE-8794 URL: https://issues.apache.org/jira/browse/IGNITE-8794 Project: Ignite Issue Type: New Feature Components: platforms Affects Versions: 2.5 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.6 Implement Best Effort Affinity. The scenario is following: 1. Thin client connects to one of the node from the user provided address list. 2. When user create instance of CacheClient, thin client requests partition mapping for the cache. 3. Client establishes connections to nodes, which are both in the list, provided by user and in a server node response. 4. When user makes put/get/some other cache operation, thin client makes the best effort to send the request to the node, which stores the data. 5. To update partition mapping, thin client can provide public API, or do it with some timeout. Also, we can add "miss" flag to cache operation response, which will indicate, that operation was not local for the server node and which thin client can use to understand, that partition mapping has changed to request server node for an update. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8764) Informatica can not connect to a cluster using ODBC driver on Windows
Igor Sapego created IGNITE-8764: --- Summary: Informatica can not connect to a cluster using ODBC driver on Windows Key: IGNITE-8764 URL: https://issues.apache.org/jira/browse/IGNITE-8764 Project: Ignite Issue Type: Bug Components: odbc Affects Versions: 2.5 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.6 It crashes or returns garbage on attempt to connect to a server node. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8638) CPP Thin: Implement Cache API for C++ thin client
Igor Sapego created IGNITE-8638: --- Summary: CPP Thin: Implement Cache API for C++ thin client Key: IGNITE-8638 URL: https://issues.apache.org/jira/browse/IGNITE-8638 Project: Ignite Issue Type: Sub-task Affects Versions: 2.5 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.6 Add Cache API for C++ thin client. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8626) ODBC: Can not compile ODBC with OpenSSL 1.1
Igor Sapego created IGNITE-8626: --- Summary: ODBC: Can not compile ODBC with OpenSSL 1.1 Key: IGNITE-8626 URL: https://issues.apache.org/jira/browse/IGNITE-8626 Project: Ignite Issue Type: Bug Components: odbc Affects Versions: 2.4 Reporter: Igor Sapego Fix For: 2.6 Can not compile ODBC with OpenSSL 1.1. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8495) CPP Thin: Implement thin client start and connection establishment
Igor Sapego created IGNITE-8495: --- Summary: CPP Thin: Implement thin client start and connection establishment Key: IGNITE-8495 URL: https://issues.apache.org/jira/browse/IGNITE-8495 Project: Ignite Issue Type: Sub-task Components: platforms Affects Versions: 2.4 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.6 Need to implement basic functionality for C++ thin client - configuration, starting, connection to server, handshake. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8494) CPP Thin: Implement Thin CPP client
Igor Sapego created IGNITE-8494: --- Summary: CPP Thin: Implement Thin CPP client Key: IGNITE-8494 URL: https://issues.apache.org/jira/browse/IGNITE-8494 Project: Ignite Issue Type: New Feature Components: platforms Affects Versions: 2.4 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.6 We need a thin client for C++. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8394) ODBC: Can not establish SSL connection to remote host.
Igor Sapego created IGNITE-8394: --- Summary: ODBC: Can not establish SSL connection to remote host. Key: IGNITE-8394 URL: https://issues.apache.org/jira/browse/IGNITE-8394 Project: Ignite Issue Type: Bug Components: odbc Affects Versions: 2.4 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.6 Driver connects to the local server, but when connecting to remote server client sometimes returns error when trying to establish async connection, though the connection established successfully, if the error is ignored. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8310) CPP: Remove strong dependency on Boost 1.58.0
Igor Sapego created IGNITE-8310: --- Summary: CPP: Remove strong dependency on Boost 1.58.0 Key: IGNITE-8310 URL: https://issues.apache.org/jira/browse/IGNITE-8310 Project: Ignite Issue Type: Improvement Components: odbc, platforms Affects Versions: 2.4 Reporter: Igor Sapego Fix For: 2.6 Currently, tests for C++ client and ODBC depends on the Boost 1.58.0. There is a strong dependency on the exact version, which causes troubles for the developers and which should not be there from the very beginning as we do not really need some features from this particular version. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8273) CPP: Implement AffinityRun and AffinityCall Compute methods
Igor Sapego created IGNITE-8273: --- Summary: CPP: Implement AffinityRun and AffinityCall Compute methods Key: IGNITE-8273 URL: https://issues.apache.org/jira/browse/IGNITE-8273 Project: Ignite Issue Type: Task Components: platforms Affects Versions: 2.4 Reporter: Igor Sapego We need to implement {{AffinityRun}} and {{AffinityCall}} features for C++ thick client. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8150) Fix suite [Prepare Vote #1] .Net & C++
Igor Sapego created IGNITE-8150: --- Summary: Fix suite [Prepare Vote #1] .Net & C++ Key: IGNITE-8150 URL: https://issues.apache.org/jira/browse/IGNITE-8150 Project: Ignite Issue Type: Task Components: build, odbc Affects Versions: 2.4 Reporter: Igor Sapego Assignee: Igor Sapego Fix For: 2.5 There is two different OpenSSL versions for Win32 and Win64 suites. However, there is only one environment variable - {{OPENSSL_HOME}}, which can not be set to different values during build. -- This message was sent by Atlassian JIRA (v7.6.3#76005)