Re: CamelCase to lowerCase conversion of column names while loading cache from postgres .

2019-03-20 Thread Alexey Kuznetsov
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?

2019-03-20 Thread AndrewV
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 .

2019-03-20 Thread Harshal Patil
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

2019-03-20 Thread Mike Needham
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

2019-03-20 Thread austin solomon
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

2019-03-20 Thread Philip Wu
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?

2019-03-20 Thread ibelyakov
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

2019-03-20 Thread Ilya Kasnacheev
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 ?

2019-03-20 Thread Ilya Kasnacheev
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

2019-03-20 Thread 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: Apache Ignite pluggability and extensibility in terms of security (kerberos)

2019-03-20 Thread Ilya Kasnacheev
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

2019-03-20 Thread relax ken
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

2019-03-20 Thread ibelyakov
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

2019-03-20 Thread vinsala
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

2019-03-20 Thread Ilya Kasnacheev
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?

2019-03-20 Thread AndrewV
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)

2019-03-20 Thread 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

2019-03-20 Thread Denis Mekhanikov
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
>