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

Chris Riccomini commented on SAMZA-236:
---------------------------------------

[~nsomasun], I've applied the patch locally, alongside [my 
patch|https://github.com/facebook/rocksdb/issues/308]. It doesn't seem to 
compile.

{noformat}
/Users/criccomi/Code/incubator-samza/samza-kv-rocksdb/src/main/scala/org/apache/samza/storage/kv/RocksDbKeyValueStore.scala:19:
 error: value setCacheSize is not a member of org.rocksdb.Options
    options.setCacheSize(cacheSize / containerContext.taskNames.size)
            ^
/Users/criccomi/Code/incubator-samza/samza-kv-rocksdb/src/main/scala/org/apache/samza/storage/kv/RocksDbKeyValueStore.scala:21:
 error: value setBlockSize is not a member of org.rocksdb.Options
    options.setBlockSize(storeConfig.getInt("rocksdb.block.size.bytes", 4096))
            ^
/Users/criccomi/Code/incubator-samza/samza-kv-rocksdb/src/main/scala/org/apache/samza/storage/kv/RocksDbKeyValueStore.scala:30:
 error: value setFilter is not a member of org.rocksdb.Options
    options.setFilter(new BloomFilter);
            ^
/Users/criccomi/Code/incubator-samza/samza-kv-rocksdb/src/main/scala/org/apache/samza/storage/kv/RocksDbKeyValueStore.scala:32:
 error: value setCacheSize is not a member of org.rocksdb.Options
    options.setCacheSize(128*1024*1024)
            ^
/Users/criccomi/Code/incubator-samza/samza-kv-rocksdb/src/main/scala/org/apache/samza/storage/kv/RocksDbKeyValueStore.scala:49:
 error: not found: type Logging
  val metrics: KeyValueStoreMetrics = new KeyValueStoreMetrics) extends 
KeyValueStore[Array[Byte], Array[Byte]] with Logging {
                                                                                
                                     ^
/Users/criccomi/Code/incubator-samza/samza-kv-rocksdb/src/main/scala/org/apache/samza/storage/kv/RocksDbKeyValueStore.scala:126:
 error: not found: value trace
    trace("Flush in RocksDbKeyValueStore is not supported, ignoring")
    ^
/Users/criccomi/Code/incubator-samza/samza-kv-rocksdb/src/main/scala/org/apache/samza/storage/kv/RocksDbKeyValueStore.scala:130:
 error: not found: value trace
    trace("Closing.")
    ^
/Users/criccomi/Code/incubator-samza/samza-kv-rocksdb/src/main/scala/org/apache/samza/storage/kv/TestRocksDbApi.scala:15:
 error: value setDisableSeekCompaction is not a member of org.rocksdb.Options
    options.setCreateIfMissing(true).createStatistics().setWriteBufferSize(8 * 
SizeUnit.KB).setMaxWriteBufferNumber(3).setDisableSeekCompaction(
                                                                                
                                       ^
/Users/criccomi/Code/incubator-samza/samza-kv-rocksdb/src/main/scala/org/apache/samza/storage/kv/TestRocksDbApi.scala:22:
 error: value disableSeekCompaction is not a member of org.rocksdb.Options
    assert(options.disableSeekCompaction() == true);
                   ^
/Users/criccomi/Code/incubator-samza/samza-kv-rocksdb/src/main/scala/org/apache/samza/storage/kv/TestRocksDbApi.scala:23:
 error: value blockSize is not a member of org.rocksdb.Options
    assert(options.blockSize() == 64 * SizeUnit.KB);
                   ^
10 errors found
:samza-kv-rocksdb_2.10:compileScala FAILED

FAILURE: Build failed with an exception.
{noformat}

Sure enough, these methods don't seem to be in RocksDB's master branch. Do I 
need to apply some patch to master to get this to work? Thought your patches 
were merged in?

> Switch samza-kv to use RocksDB
> ------------------------------
>
>                 Key: SAMZA-236
>                 URL: https://issues.apache.org/jira/browse/SAMZA-236
>             Project: Samza
>          Issue Type: Bug
>          Components: kv
>    Affects Versions: 0.6.0
>            Reporter: Chris Riccomini
>            Assignee: Naveen
>             Fix For: 0.8.0
>
>
> The samza-kv implementation is currently using LevelDB. RocksDB seems to have 
> a number of interesting options that would be useful to Samza:
> # Ability to swap out skip list for a faster implementation when restoring 
> data from a changelog stream.
> # Ability to disable compaction during changelog stream restoration.
> # Ability to have a single level (or single SST) rather than multiple levels 
> in order to reduce read amplification.
> # A merge operation for doing lazy read-modify-write during compaction.
> And a lot more.



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

Reply via email to