ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Kuznetsov (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (IGNITE-1371) Key-Value store (like Cassandra) as CacheStore
Date Fri, 25 Dec 2015 07:13:49 GMT

    [ https://issues.apache.org/jira/browse/IGNITE-1371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15071390#comment-15071390
] 

Alexey Kuznetsov edited comment on IGNITE-1371 at 12/25/15 7:13 AM:
--------------------------------------------------------------------

Igor,

Valentin Kulichenko and I reviewed your code and we have following points:

# First of all please merge with latest master or ignite-1.5. In ignite-1.5 we introduced
BinaryMarshaller that should be properly handled in store.
# Please add more javadocs for Cassandra specific code (for example keyspace, tblOptions,
keyspaceOptions) what for we need them, may be give a link to Cassandra docs.
# KeyValuePersistenceSettings.keyspaceOptions - please describe why such default options were
selected? And please move defaults to constant DFLT_propper_name.
# CassandraCacheStoreFactory.persistenceSettings lets make these settings not transient, but
serializable and also move all settings classes from util package to same package as store.
# Also let's refactor persistence settings to be serializable and more simple (take a look
at JdbsType of CacheJdbcPojoStorefactory) to be just a description of metadata. Move all serialization
logic inside store.
# Also persistence settings hierarchy looks a bit over engineered a lot of classes: KeyValuePersistenceSettings,
KeyPersistenceSettings, ValuePersistenceSettings, PojoField, PojoKeyField, PojoValueField
... why we need such many classes? Is this cassandra specific? Why we need indexes in PojoValueField?
Also may be we could rename classes to be looks like same classes in JdbcPojoStore? KeyValuePersistenceSettings
-> CassandraTypes. KeyPersistenceSettings -> CassandraKeyType, and so on
# What for we need PersistenceStrategy? now in Ignite-1.5 we have Binary marshaller as default
marshaller and this marshaller already serialize objects as bytes, assuming this I think we
could drop Serializers that were introduces (Java and Kryo).
# Also what is the difference between PRIMITIVE and POJO modes in PersistenceStrategy?


was (Author: kuaw26):
Igor,

Valentin Kulichenko and I reviewed your code and we have following points:

1) First of all please merge with latest master or ignite-1.5. In ignite-1.5 we introduced
BinaryMarshaller that should be properly handled in store.
2) Please add more javadocs for Cassandra specific code (for example keyspace, tblOptions,
keyspaceOptions) what for we need them, may be give a link to Cassandra docs.
3) KeyValuePersistenceSettings.keyspaceOptions - please describe why such default options
were selected? And please move defaults to constant DFLT_propper_name.
4) CassandraCacheStoreFactory.persistenceSettings lets make these settings not transient,
but serializable and also move all settings classes from util package to same package as store.
5) Also let's refactor persistence settings to be serializable and more simple (take a look
at JdbsType of CacheJdbcPojoStorefactory) to be just a description of metadata. Move all serialization
logic inside store.
6) Also persistence settings hierarchy looks a bit over engineered a lot of classes: KeyValuePersistenceSettings,
KeyPersistenceSettings, ValuePersistenceSettings, PojoField, PojoKeyField, PojoValueField
... why we need such many classes? Is this cassandra specific? Why we need indexes in PojoValueField?
Also may be we could rename classes to be looks like same classes in JdbcPojoStore? KeyValuePersistenceSettings
-> CassandraTypes. KeyPersistenceSettings -> CassandraKeyType, and so on
7) What for we need PersistenceStrategy? now in Ignite-1.5 we have Binary marshaller as default
marshaller and this marshaller already serialize objects as bytes, assuming this I think we
could drop Serializers that were introduces (Java and Kryo).
8) Also what is the difference between PRIMITIVE and POJO modes in PersistenceStrategy?

> Key-Value store (like Cassandra) as CacheStore
> ----------------------------------------------
>
>                 Key: IGNITE-1371
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1371
>             Project: Ignite
>          Issue Type: New Feature
>          Components: cache
>    Affects Versions: ignite-1.4
>            Reporter: Alexandre Boudnik
>            Assignee: Igor Rudyak
>         Attachments: master_02b59e4_ignite-1371.patch
>
>   Original Estimate: 504h
>  Remaining Estimate: 504h
>
> It will provide ability to map particular cache holding POJOs to Cassandra table. Later
it would be generalized to support eventually any any Key-Value store.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message