0
votes

I'm using Apache ignite without any integration with database. I'm getting following exception on my windows machine. After investigating, found that ports for which I'm getting error are used by ODBC driver. https://apacheignite.readme.io/v1.7/docs/connecting-string

I don't know if its required by Ignite but if now can we disable ODBC/JDBC driver loading, so that it doesn't need those ports.

org.apache.ignite.IgniteCheckedException: Failed to start processor: GridProcessorAdapter []
    at org.apache.ignite.internal.IgniteKernal.startProcessor(IgniteKernal.java:1741)
    at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:987)
    at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
    at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
    at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
    at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
    at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:596)
    at org.apache.ignite.Ignition.start(Ignition.java:327)
    at framework.cache.CacheManager.initialize(CacheManager.java:129)

Caused by: org.apache.ignite.IgniteCheckedException: Failed to start client connector processor.
    at org.apache.ignite.internal.processors.odbc.ClientListenerProcessor.start(ClientListenerProcessor.java:175)
    at org.apache.ignite.internal.IgniteKernal.startProcessor(IgniteKernal.java:1738)
    ... 10 common frames omitted
Caused by: org.apache.ignite.IgniteCheckedException: Failed to bind to any [host:port] from the range [host=null, portFrom=10800, portTo=10900, lastErr=class org.apache.ignite.IgniteCheckedException: Failed to initialize NIO selector.]
    at org.apache.ignite.internal.processors.odbc.ClientListenerProcessor.start(ClientListenerProcessor.java:171)
    ... 11 common frames omitted
1
After restart of my laptop , that error was gone, probably, ports [portFrom=10800, portTo=10900] were not released even after killing java processes in my previous tests. But would like to know if it is possible to disable that if its not mandatory. We don't want to query cache using some queries, we would be using ingnite.getorCreateCache() API, not sure if it internally uses odbc driver.ddinde
I guess I found it:IgniteConfiguration cfg = new IgniteConfiguration(); cfg.getClientConnectorConfiguration().setOdbcEnabled(false); cfg.getClientConnectorConfiguration().setJdbcEnabled(false);ddinde

1 Answers

0
votes

To prevent Ignite from binding to JDBC/ODBC ports, you should set IgniteConfiguration#clientConnectorConfiguration to null.

If you just set odbcEnabled and jdbcEnabled to false, then Ignite will still bind to this port, but JDBC and ODBC connections won't be processed.