hank icon indicating copy to clipboard operation
hank copied to clipboard

(DEPRECATED. This project is no longer used or maintained at LiveRamp.) Hank is a high performance distributed key-value NoSQL database that we built and use at LiveRamp. It is designed for very large...

Results 60 hank issues
Sort by recently updated
recently updated
newest added

These should be unused now. --- This change is [](https://reviewable.io/reviews/liveramp/hank/326)

I have read the readme and api documents, but I can not find any document about how to configure and start up server. And the example config seems to be...

TestUpdateManager.testInterruptedUpdateTask periodically fails with a "Should throw an IOException when update is interrupted." error. When this happens another test in the same process, usually testUpdate, fails with an unexpected exception....

java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) at java.util.HashMap$EntryIterator.next(HashMap.java:834) at java.util.HashMap$EntryIterator.next(HashMap.java:832) at java.util.AbstractMap.remove(AbstractMap.java:221) at com.rapleaf.hank.coordinator.zk.ZkHostDomain.removePartition(ZkHostDomain.java:107) at com.rapleaf.hank.partition_server.UpdateManager.deletePartition(UpdateManager.java:351) at com.rapleaf.hank.partition_server.UpdateManager.access$100(UpdateManager.java:31) at com.rapleaf.hank.partition_server.UpdateManager$PartitionUpdateTask.run(UpdateManager.java:174) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662)

It seems like implementing the deletion part during an update would be easy (simply skip keys in Cueball and do nothing for Curly). At this point, we probably need to...

It is not compaction in the same sense as Curly compaction, since the resulting store is not smaller than after a regular update. However, this would allow us to compact...

We should rely on listeners of lists of rings and hosts to reload the monitor skeleton.