Re: CamelCase to lowerCase conversion of column names while loading cache from postgres .
Hi, You may try to set: cacheStoreFactory.setSqlEscapeAll(true); Hope this helps. On Thu, Mar 21, 2019 at 1:09 AM Harshal Patil wrote: > Any suggestions please let me know > > On Wed, Mar 20, 2019, 11:45 AM Harshal Patil > wrote: > >> Hi , >> I have enabled persistant store as Postgres . >> This is my cacheConfiguration , >> >> public static CacheConfiguration cacheIgniteTableCache() throws Exception >> { >> >> CacheConfiguration ccfg = new CacheConfiguration(); >> >> >> ccfg.setName("IgniteTableCache"); >> >> ccfg.setCacheMode(CacheMode.*PARTITIONED*); >> >> ccfg.setAtomicityMode(CacheAtomicityMode.*ATOMIC*); >> >> ccfg.setCopyOnRead(true); >> >> >> CacheJdbcPojoStoreFactory cacheStoreFactory = new >> CacheJdbcPojoStoreFactory(); >> >> >> cacheStoreFactory.setDataSourceFactory(new Factory() { >> >> */** {**@inheritDoc**} **/* >> >> @Override public DataSource create() { >> >> return DataSources.*INSTANCE_dsPostgreSQL_Rein*; >> >> }; >> >> }); >> >> >> cacheStoreFactory.setDialect(new BasicJdbcDialect()); >> >> cacheStoreFactory.setBatchSize(1); >> >> >> cacheStoreFactory.setTypes(*jdbcTypeIgniteTable*(ccfg.getName())); >> >> >> ccfg.setCacheStoreFactory(cacheStoreFactory); >> >> >> ccfg.setReadThrough(true); >> >> ccfg.setWriteThrough(true); >> >> >> ArrayList qryEntities = new ArrayList<>(); >> >> >> QueryEntity qryEntity = new QueryEntity(); >> >> >> >> qryEntity.setKeyType("com.gmail.patil.j.harshal.model.IgniteTableKey"); >> >> >> qryEntity.setValueType("com.gmail.patil.j.harshal.model.IgniteTable"); >> >> qryEntity.setTableName("ignite_table"); >> >> qryEntity.setKeyFieldName("idCol"); >> >> >> HashSet keyFields = new HashSet<>(); >> >> >> keyFields.add("idCol"); >> >> >> qryEntity.setKeyFields(keyFields); >> >> >> LinkedHashMap fields = new LinkedHashMap<>(); >> >> >> fields.put("nameCol", "java.lang.String"); >> >> fields.put("idCol", >> "com.gmail.patil.j.harshal.model.IgniteTableKey"); >> >> >> qryEntity.setFields(fields); >> >> >> HashMap aliases = new HashMap<>(); >> >> >> aliases.put("idCol", "idCol"); >> >> aliases.put("nameCol", "name_col"); >> >> >> qryEntity.setAliases(aliases); >> >> qryEntities.add(qryEntity); >> >> >> ccfg.setQueryEntities(qryEntities); >> >> >> return ccfg; >> >> } >> >> >> But I am getting exception , >> >> * org.postgresql.util.PSQLException: ERROR: column "idcol" does not exist* >> >> >> how I can solve this ? i can see that preparedStatement don't have quotes >> around column . >> >> Current Query = *select idCol from ignite_table * >> >> instead of *select "idCol" from ignite_table* >> >> >> >> >> >> >> -- Alexey Kuznetsov
Re: How to disable replication over multicast for development nodes?
Thank you. So, in the case of single-development node mode, I should add just local node IP? ... 127.0.0.1 ... -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: CamelCase to lowerCase conversion of column names while loading cache from postgres .
Any suggestions please let me know On Wed, Mar 20, 2019, 11:45 AM Harshal Patil wrote: > Hi , > I have enabled persistant store as Postgres . > This is my cacheConfiguration , > > public static CacheConfiguration cacheIgniteTableCache() throws Exception { > > CacheConfiguration ccfg = new CacheConfiguration(); > > > ccfg.setName("IgniteTableCache"); > > ccfg.setCacheMode(CacheMode.*PARTITIONED*); > > ccfg.setAtomicityMode(CacheAtomicityMode.*ATOMIC*); > > ccfg.setCopyOnRead(true); > > > CacheJdbcPojoStoreFactory cacheStoreFactory = new > CacheJdbcPojoStoreFactory(); > > > cacheStoreFactory.setDataSourceFactory(new Factory() { > > */** {**@inheritDoc**} **/* > > @Override public DataSource create() { > > return DataSources.*INSTANCE_dsPostgreSQL_Rein*; > > }; > > }); > > > cacheStoreFactory.setDialect(new BasicJdbcDialect()); > > cacheStoreFactory.setBatchSize(1); > > > cacheStoreFactory.setTypes(*jdbcTypeIgniteTable*(ccfg.getName())); > > > ccfg.setCacheStoreFactory(cacheStoreFactory); > > > ccfg.setReadThrough(true); > > ccfg.setWriteThrough(true); > > > ArrayList qryEntities = new ArrayList<>(); > > > QueryEntity qryEntity = new QueryEntity(); > > > > qryEntity.setKeyType("com.gmail.patil.j.harshal.model.IgniteTableKey"); > > qryEntity.setValueType("com.gmail.patil.j.harshal.model.IgniteTable"); > > qryEntity.setTableName("ignite_table"); > > qryEntity.setKeyFieldName("idCol"); > > > HashSet keyFields = new HashSet<>(); > > > keyFields.add("idCol"); > > > qryEntity.setKeyFields(keyFields); > > > LinkedHashMap fields = new LinkedHashMap<>(); > > > fields.put("nameCol", "java.lang.String"); > > fields.put("idCol", "com.gmail.patil.j.harshal.model.IgniteTableKey"); > > > qryEntity.setFields(fields); > > > HashMap aliases = new HashMap<>(); > > > aliases.put("idCol", "idCol"); > > aliases.put("nameCol", "name_col"); > > > qryEntity.setAliases(aliases); > > qryEntities.add(qryEntity); > > > ccfg.setQueryEntities(qryEntities); > > > return ccfg; > > } > > > But I am getting exception , > > * org.postgresql.util.PSQLException: ERROR: column "idcol" does not exist* > > > how I can solve this ? i can see that preparedStatement don't have quotes > around column . > > Current Query = *select idCol from ignite_table * > > instead of *select "idCol" from ignite_table* > > > > > > >
Re: Access a cache loaded by DataStreamer with SQL
I guess I am not understanding how to build this for multiple tables in a cache that can be loaded using the datastreamer and are queryable from DBeaver or tableau. I changed the code to be IgniteCache testCache = ignite.getOrCreateCache(new CacheConfiguration<>("MAIN") .setIndexedTypes(Long.class, Employee.class) .setIndexedTypes(Long.class, Department.class) ); Employee e = new Employee(1, "Test", 123.34f, 3); try (IgniteDataStreamer ds = ignite.dataStreamer("MAIN")) { ds.addData(1l, e); } Department d = new Department(1, "Main", 12, 3); try (IgniteDataStreamer ds2 = ignite.dataStreamer("MAIN")) { ds2.addData(1l, d); } which created the two in the cache, but does not load anything to the department table. On Wed, Mar 20, 2019 at 10:01 AM Ilya Kasnacheev wrote: > Hello! > > I don't understand what you are doing here. Why do you have two employee > tables here? What is desired table structure? > > Regards, > -- > Ilya Kasnacheev > > > ср, 20 мар. 2019 г. в 16:44, Mike Needham : > >> I have that part, what I dont understand is how I can create multiple >> "Tables" within a Cache(Schema)? I have the following code that is using a >> simple Employee Class. >> >> IgniteCache testCache = >> ignite.getOrCreateCache(new CacheConfiguration<>("MAIN") >> .setIndexedTypes(Long.class, Employee.class) >> .setQueryEntities(Collections.singleton( >> new QueryEntity(Integer.class, >> String.class).setTableName("EMPLOYEE"; >> Employee e = new Employee(1, "Test", 123.34f, 3); >> try (IgniteDataStreamer ds = >> ignite.dataStreamer("MAIN")) { >> ds.addData(1l, e); >> } >> >> how would one go about adding a second "Table" to the MAIN cache so that >> it is queryable from DBeaver or other tools? >> >> >> On Wed, Mar 20, 2019 at 4:29 AM Ilya Kasnacheev < >> ilya.kasnach...@gmail.com> wrote: >> >>> Hello! >>> >>> Please take a look at >>> https://apacheignite.readme.io/docs/cache-queries#section-query-configuration-by-annotations >>> >>> Regards, >>> -- >>> Ilya Kasnacheev >>> >>> >>> вт, 19 мар. 2019 г. в 20:25, Mike Needham : >>> Do you have an example of how that could be done. I am struggling to figure out how to set this up. On Mon, Mar 18, 2019 at 2:00 AM Ilya Kasnacheev < ilya.kasnach...@gmail.com> wrote: > Hello! > > The best approach is to use .setIndexedTypes() instead of > setQueryEntities(), and annotate complex types in question with > @QuerySqlField. > This way you can then pour those types into cache and it will work > transparently. > > Regards, > -- > Ilya Kasnacheev > > > пт, 15 мар. 2019 г. в 18:28, Mike Needham : > >> Perfect, now the next question is how would you do this for a more >> complex object/table? Either one defined in a separate object or via SQL >> DDL? >> >> On Fri, Mar 15, 2019 at 9:05 AM Ilya Kasnacheev < >> ilya.kasnach...@gmail.com> wrote: >> >>> Hello! >>> >>> You will have to specify schema name (or cache name?) in ALLCAPS >>> when creating cache. >>> >>> Regards, >>> -- >>> Ilya Kasnacheev >>> >>> >>> пт, 15 мар. 2019 г. в 16:45, Mike Needham : >>> I see. did not have the "person" for the schema. Is there a way to not have the quotes around that? On Fri, Mar 15, 2019 at 7:59 AM ilya.kasnacheev < ilya.kasnach...@gmail.com> wrote: > Hello! > > Definitely works for me in DBeaver with this exact code: > > < > http://apache-ignite-users.70518.x6.nabble.com/file/t1312/dbeaver-tables.png> > > > Some of DBeaver's introspection does not work but statements are > solid. > > Regards, > > > > -- > Sent from: http://apache-ignite-users.70518.x6.nabble.com/ > -- *Some days it just not worth chewing through the restraints* >>> >> >> -- >> *Some days it just not worth chewing through the restraints* >> > -- *Some days it just not worth chewing through the restraints* >>> >> >> -- >> *Some days it just not worth chewing through the restraints* >> > -- *Some days it just not worth chewing through the restraints*
Licencing cost
Hi, Does the gridgain licensing cost vary depending on the number of physical cores of each node? Can anyone tell me. Thanks, Austin -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: Ignite 2.7 Errors
Thank you, IIya! We ended up using cfg.setFailureHandler(new NoOpFailureHandler()); it silenced the errors and no more stack dumps, etc. and it seems to work like in 2.5 and 2.6, with no other changes. I am still curious if in the future I can take that line out if 2.7 is more stable or 2.8. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: How to disable replication over multicast for development nodes?
Hi. To disable multicast, you need to change "ipFinder" in "discoverySpi" configuration to "TcpDiscoveryVmIpFinder" and specify the list of node's addresses. Check the link below for the configuration example: https://apacheignite.readme.io/docs/tcpip-discovery#section-static-ip-finder Regards, Igor -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: Access a cache loaded by DataStreamer with SQL
Hello! I don't understand what you are doing here. Why do you have two employee tables here? What is desired table structure? Regards, -- Ilya Kasnacheev ср, 20 мар. 2019 г. в 16:44, Mike Needham : > I have that part, what I dont understand is how I can create multiple > "Tables" within a Cache(Schema)? I have the following code that is using a > simple Employee Class. > > IgniteCache testCache = > ignite.getOrCreateCache(new CacheConfiguration<>("MAIN") > .setIndexedTypes(Long.class, Employee.class) > .setQueryEntities(Collections.singleton( > new QueryEntity(Integer.class, > String.class).setTableName("EMPLOYEE"; > Employee e = new Employee(1, "Test", 123.34f, 3); > try (IgniteDataStreamer ds = > ignite.dataStreamer("MAIN")) { > ds.addData(1l, e); > } > > how would one go about adding a second "Table" to the MAIN cache so that > it is queryable from DBeaver or other tools? > > > On Wed, Mar 20, 2019 at 4:29 AM Ilya Kasnacheev > wrote: > >> Hello! >> >> Please take a look at >> https://apacheignite.readme.io/docs/cache-queries#section-query-configuration-by-annotations >> >> Regards, >> -- >> Ilya Kasnacheev >> >> >> вт, 19 мар. 2019 г. в 20:25, Mike Needham : >> >>> Do you have an example of how that could be done. I am struggling to >>> figure out how to set this up. >>> >>> On Mon, Mar 18, 2019 at 2:00 AM Ilya Kasnacheev < >>> ilya.kasnach...@gmail.com> wrote: >>> Hello! The best approach is to use .setIndexedTypes() instead of setQueryEntities(), and annotate complex types in question with @QuerySqlField. This way you can then pour those types into cache and it will work transparently. Regards, -- Ilya Kasnacheev пт, 15 мар. 2019 г. в 18:28, Mike Needham : > Perfect, now the next question is how would you do this for a more > complex object/table? Either one defined in a separate object or via SQL > DDL? > > On Fri, Mar 15, 2019 at 9:05 AM Ilya Kasnacheev < > ilya.kasnach...@gmail.com> wrote: > >> Hello! >> >> You will have to specify schema name (or cache name?) in ALLCAPS when >> creating cache. >> >> Regards, >> -- >> Ilya Kasnacheev >> >> >> пт, 15 мар. 2019 г. в 16:45, Mike Needham : >> >>> I see. did not have the "person" for the schema. Is there a way to >>> not have the quotes around that? >>> >>> On Fri, Mar 15, 2019 at 7:59 AM ilya.kasnacheev < >>> ilya.kasnach...@gmail.com> wrote: >>> Hello! Definitely works for me in DBeaver with this exact code: < http://apache-ignite-users.70518.x6.nabble.com/file/t1312/dbeaver-tables.png> Some of DBeaver's introspection does not work but statements are solid. Regards, -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/ >>> >>> >>> -- >>> *Some days it just not worth chewing through the restraints* >>> >> > > -- > *Some days it just not worth chewing through the restraints* > >>> >>> -- >>> *Some days it just not worth chewing through the restraints* >>> >> > > -- > *Some days it just not worth chewing through the restraints* >
Re: Support User defined aggregate function ?
Hello! As far as I know there is no such support. It is recommended to use job/task API instead: https://apacheignite.readme.io/docs/compute-tasks Regards, -- Ilya Kasnacheev ср, 20 мар. 2019 г. в 09:24, Tâm Nguyễn Mạnh : > Hi Igniters, > > Can we support user defined aggreate function ? > > -- > Thanks & Best Regards > > Tam, Nguyen Manh >
Re: Access a cache loaded by DataStreamer with SQL
I have that part, what I dont understand is how I can create multiple "Tables" within a Cache(Schema)? I have the following code that is using a simple Employee Class. IgniteCache testCache = ignite.getOrCreateCache(new CacheConfiguration<>("MAIN") .setIndexedTypes(Long.class, Employee.class) .setQueryEntities(Collections.singleton( new QueryEntity(Integer.class, String.class).setTableName("EMPLOYEE"; Employee e = new Employee(1, "Test", 123.34f, 3); try (IgniteDataStreamer ds = ignite.dataStreamer("MAIN")) { ds.addData(1l, e); } how would one go about adding a second "Table" to the MAIN cache so that it is queryable from DBeaver or other tools? On Wed, Mar 20, 2019 at 4:29 AM Ilya Kasnacheev wrote: > Hello! > > Please take a look at > https://apacheignite.readme.io/docs/cache-queries#section-query-configuration-by-annotations > > Regards, > -- > Ilya Kasnacheev > > > вт, 19 мар. 2019 г. в 20:25, Mike Needham : > >> Do you have an example of how that could be done. I am struggling to >> figure out how to set this up. >> >> On Mon, Mar 18, 2019 at 2:00 AM Ilya Kasnacheev < >> ilya.kasnach...@gmail.com> wrote: >> >>> Hello! >>> >>> The best approach is to use .setIndexedTypes() instead of >>> setQueryEntities(), and annotate complex types in question with >>> @QuerySqlField. >>> This way you can then pour those types into cache and it will work >>> transparently. >>> >>> Regards, >>> -- >>> Ilya Kasnacheev >>> >>> >>> пт, 15 мар. 2019 г. в 18:28, Mike Needham : >>> Perfect, now the next question is how would you do this for a more complex object/table? Either one defined in a separate object or via SQL DDL? On Fri, Mar 15, 2019 at 9:05 AM Ilya Kasnacheev < ilya.kasnach...@gmail.com> wrote: > Hello! > > You will have to specify schema name (or cache name?) in ALLCAPS when > creating cache. > > Regards, > -- > Ilya Kasnacheev > > > пт, 15 мар. 2019 г. в 16:45, Mike Needham : > >> I see. did not have the "person" for the schema. Is there a way to >> not have the quotes around that? >> >> On Fri, Mar 15, 2019 at 7:59 AM ilya.kasnacheev < >> ilya.kasnach...@gmail.com> wrote: >> >>> Hello! >>> >>> Definitely works for me in DBeaver with this exact code: >>> >>> < >>> http://apache-ignite-users.70518.x6.nabble.com/file/t1312/dbeaver-tables.png> >>> >>> >>> Some of DBeaver's introspection does not work but statements are >>> solid. >>> >>> Regards, >>> >>> >>> >>> -- >>> Sent from: http://apache-ignite-users.70518.x6.nabble.com/ >>> >> >> >> -- >> *Some days it just not worth chewing through the restraints* >> > -- *Some days it just not worth chewing through the restraints* >>> >> >> -- >> *Some days it just not worth chewing through the restraints* >> > -- *Some days it just not worth chewing through the restraints*
Re: Apache Ignite pluggability and extensibility in terms of security (kerberos)
Hello! This seems like a discussion for developers list. It may also help to focus more on actual questions or issues that you are facing. Regards, -- Ilya Kasnacheev ср, 20 мар. 2019 г. в 11:59, Vishalan : > I am trying to explore the extensibility of Apache Ignite 2.7 in terms of > security configuration. > In particular, ability to modify the authentication structure and > implement > a specific kerberos mechanism in: > -Zookeeper Discovery > -Internode communication > -Ignite JDBC Thin client > -Service Grid Requests > > > I have observed that the Ignite community is really active and > passionate > in terms of contribution. > I would really appreciate, if someone can guide me in the right > direction > in terms of existing attempts and efforts in achieving the same > requirement, > if any. > Even directing me towards proper abstraction code checkpoints and > interfaces would be a great help. > > The following references seem to be relevant. I will keep adding more to > this thread as I explore more. > > An old branch > https://github.com/apache/ignite/tree/ignite-kerberos > > The commercial offering security extensibility > https://docs.gridgain.com/v7.8/docs/security-and-audit > > Discovery > > --org.apache.ignite.spi.discovery.zk.ZookeeperDiscoverySpi > https://apacheignite.readme.io/docs/zookeeper-discovery > > > > --org.apache.ignite.spi.discovery.tcp.ipfinder.zk.TcpDiscoveryZookeeperIpFinder > > > https://apacheignite.readme.io/docs/tcpip-discovery#section-zookeeper-ip-finder > > Node Instantiation > > > > https://github.com/apache/ignite/blob/master/modules/ssh/src/main/java/org/apache/ignite/internal/util/nodestart/StartNodeCallableImpl.java > > > > > > > -- > Sent from: http://apache-ignite-users.70518.x6.nabble.com/ >
Re: InvalidClassException local class incompatible for custom cache store factory
Thanks! On Wed, Mar 20, 2019 at 8:15 AM Denis Mekhanikov wrote: > Ken, > > Cache store factory is a part of a cache configuration. So, if a cache > configuration is stored somewhere, and it's deserialized using a new class, > then this exception is thrown. > It's possible if you have native persistence enabled, for example. The > cache configuration is read from disk when a node starts. > > Cache configurations are sent to newly joined nodes along with discovery > data. If you want to change the cache store implementation, then you should > destroy the cache and start it with a new config. > Different implementations of cache store on different nodes is not a > correct situation, so you should avoid it. > > Denis > > вт, 19 мар. 2019 г. в 20:30, relax ken : > >> Hi, >> >> I am testing my custom CacheStoreFactory. It worked fine previously on my >> local dev machine. After I changed this class and run it, I got >> `java.io.InvalidClassException: xxx.CacheStoreFactory; local class >> incompatible: stream classdesc serialVersionUID = 7199421607011991053, >> local class serialVersionUID = -7841220943604923990` >> >> Is it the previous serialized class cached somewhere and incompatible >> with the new one? I only have this single node. There is no other nodes. >> >> Another question is I try to understand why CacheStoreFactory and >> CacheStore are serialized to newly joined node. Does it mean if I changed >> their implementation and release the changes to a new node, the new node >> will still perform as the old one? >> >> Very appreciate any help. >> >> Thanks, >> >> Ken >> >
Re: How many Ignite nodes per Server + backup behavior
Hello, 1. It's recommended to run 1 Ignite node per server, try to reduce nodes count to 4. 2. In case you're going to use 4 nodes per server, you need to specify backup=1 and also set excludeNeighbors on affinityFunction as described here: https://apacheignite.readme.io/docs/affinity-collocation#section-crash-safe-affinity After that, data will be stored on 2 nodes (1 primary and 1 backup) and these nodes will be on the different servers. For 1 node per server case just set backup=1. 3. Try to set query parallelism equals to available threads on the server, it should increase performance. (1 node per server, parallelism=16) Regards, Igor -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Int to enum mapping failure
Table A with columns and type col data_type name varchar idbigint type int data is loaded fine into Cache when following mapping used for field type But fails with error below if I try to use Enum Caused by: class org.apache.ignite.binary.BinaryObjectException: Failed to read field [name=type] at org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:192) at org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:875) ... 16 more Caused by: java.lang.IllegalArgumentException: Can not set com...some.SomeEnum field com.bla.bla.A.type to java.lang.Integer at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:81) public class A implements Serializable { private static final long serialVersionUID = 0L; private final Long id; private int type; // CHANGE This to SomEnum for failure case private final String code; } enum SomeNum { FIRST(1, "FIRSTENUM"); } -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: Access a cache loaded by DataStreamer with SQL
Hello! Please take a look at https://apacheignite.readme.io/docs/cache-queries#section-query-configuration-by-annotations Regards, -- Ilya Kasnacheev вт, 19 мар. 2019 г. в 20:25, Mike Needham : > Do you have an example of how that could be done. I am struggling to > figure out how to set this up. > > On Mon, Mar 18, 2019 at 2:00 AM Ilya Kasnacheev > wrote: > >> Hello! >> >> The best approach is to use .setIndexedTypes() instead of >> setQueryEntities(), and annotate complex types in question with >> @QuerySqlField. >> This way you can then pour those types into cache and it will work >> transparently. >> >> Regards, >> -- >> Ilya Kasnacheev >> >> >> пт, 15 мар. 2019 г. в 18:28, Mike Needham : >> >>> Perfect, now the next question is how would you do this for a more >>> complex object/table? Either one defined in a separate object or via SQL >>> DDL? >>> >>> On Fri, Mar 15, 2019 at 9:05 AM Ilya Kasnacheev < >>> ilya.kasnach...@gmail.com> wrote: >>> Hello! You will have to specify schema name (or cache name?) in ALLCAPS when creating cache. Regards, -- Ilya Kasnacheev пт, 15 мар. 2019 г. в 16:45, Mike Needham : > I see. did not have the "person" for the schema. Is there a way to > not have the quotes around that? > > On Fri, Mar 15, 2019 at 7:59 AM ilya.kasnacheev < > ilya.kasnach...@gmail.com> wrote: > >> Hello! >> >> Definitely works for me in DBeaver with this exact code: >> >> < >> http://apache-ignite-users.70518.x6.nabble.com/file/t1312/dbeaver-tables.png> >> >> >> Some of DBeaver's introspection does not work but statements are >> solid. >> >> Regards, >> >> >> >> -- >> Sent from: http://apache-ignite-users.70518.x6.nabble.com/ >> > > > -- > *Some days it just not worth chewing through the restraints* > >>> >>> -- >>> *Some days it just not worth chewing through the restraints* >>> >> > > -- > *Some days it just not worth chewing through the restraints* >
How to disable replication over multicast for development nodes?
Hi there! I have a problem with the development environment. If more than one developer run project in the same local network nodes starts to replicate between each other. Could you tell me how to disable multicast replication? Thanks! -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Apache Ignite pluggability and extensibility in terms of security (kerberos)
I am trying to explore the extensibility of Apache Ignite 2.7 in terms of security configuration. In particular, ability to modify the authentication structure and implement a specific kerberos mechanism in: -Zookeeper Discovery -Internode communication -Ignite JDBC Thin client -Service Grid Requests I have observed that the Ignite community is really active and passionate in terms of contribution. I would really appreciate, if someone can guide me in the right direction in terms of existing attempts and efforts in achieving the same requirement, if any. Even directing me towards proper abstraction code checkpoints and interfaces would be a great help. The following references seem to be relevant. I will keep adding more to this thread as I explore more. An old branch https://github.com/apache/ignite/tree/ignite-kerberos The commercial offering security extensibility https://docs.gridgain.com/v7.8/docs/security-and-audit Discovery --org.apache.ignite.spi.discovery.zk.ZookeeperDiscoverySpi https://apacheignite.readme.io/docs/zookeeper-discovery --org.apache.ignite.spi.discovery.tcp.ipfinder.zk.TcpDiscoveryZookeeperIpFinder https://apacheignite.readme.io/docs/tcpip-discovery#section-zookeeper-ip-finder Node Instantiation https://github.com/apache/ignite/blob/master/modules/ssh/src/main/java/org/apache/ignite/internal/util/nodestart/StartNodeCallableImpl.java -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: InvalidClassException local class incompatible for custom cache store factory
Ken, Cache store factory is a part of a cache configuration. So, if a cache configuration is stored somewhere, and it's deserialized using a new class, then this exception is thrown. It's possible if you have native persistence enabled, for example. The cache configuration is read from disk when a node starts. Cache configurations are sent to newly joined nodes along with discovery data. If you want to change the cache store implementation, then you should destroy the cache and start it with a new config. Different implementations of cache store on different nodes is not a correct situation, so you should avoid it. Denis вт, 19 мар. 2019 г. в 20:30, relax ken : > Hi, > > I am testing my custom CacheStoreFactory. It worked fine previously on my > local dev machine. After I changed this class and run it, I got > `java.io.InvalidClassException: xxx.CacheStoreFactory; local class > incompatible: stream classdesc serialVersionUID = 7199421607011991053, > local class serialVersionUID = -7841220943604923990` > > Is it the previous serialized class cached somewhere and incompatible with > the new one? I only have this single node. There is no other nodes. > > Another question is I try to understand why CacheStoreFactory and > CacheStore are serialized to newly joined node. Does it mean if I changed > their implementation and release the changes to a new node, the new node > will still perform as the old one? > > Very appreciate any help. > > Thanks, > > Ken >