alluxio icon indicating copy to clipboard operation
alluxio copied to clipboard

Fails to open RockDB when using paged block store

Open dbw9580 opened this issue 2 years ago • 0 comments

Alluxio Version: What version of Alluxio are you using? Current master

Describe the bug

When using RocksDB as store type, the paged block store fails to open RocksDB, therefore worker cannot be started.

Stack trace:

2022-07-26 07:17:55,708 ERROR AlluxioWorker - Fatal error: Failed to create worker process
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Couldn’t open rocksDB database
	at alluxio.worker.AlluxioWorkerProcess.<init>(AlluxioWorkerProcess.java:154)
	at alluxio.worker.WorkerProcess$Factory.create(WorkerProcess.java:45)
	at alluxio.worker.WorkerProcess$Factory.create(WorkerProcess.java:37)
	at alluxio.worker.AlluxioWorker.main(AlluxioWorker.java:70)
Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Couldn’t open rocksDB database
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.util.concurrent.FutureTask.get(FutureTask.java:192)
	at alluxio.util.CommonUtils.invokeAll(CommonUtils.java:594)
	at alluxio.util.CommonUtils.invokeAll(CommonUtils.java:556)
	at alluxio.worker.AlluxioWorkerProcess.<init>(AlluxioWorkerProcess.java:108)
	... 3 more
Caused by: java.lang.RuntimeException: Couldn’t open rocksDB database
	at alluxio.client.file.cache.store.RocksPageStore.open(RocksPageStore.java:81)
	at alluxio.client.file.cache.PageStore.create(PageStore.java:50)
	at alluxio.client.file.cache.store.PageStoreDir.createPageStoreDir(PageStoreDir.java:72)
	at alluxio.client.file.cache.store.PageStoreDir.lambda$createPageStoreDirs$0(PageStoreDir.java:48)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
	at alluxio.client.file.cache.store.PageStoreDir.createPageStoreDirs(PageStoreDir.java:49)
	at alluxio.client.file.cache.PageMetaStore.create(PageMetaStore.java:35)
	at alluxio.worker.page.PagedBlockStore.create(PagedBlockStore.java:79)
	at alluxio.worker.block.BlockWorkerFactory.create(BlockWorkerFactory.java:57)
	at alluxio.worker.block.BlockWorkerFactory.create(BlockWorkerFactory.java:34)
	at alluxio.worker.AlluxioWorkerProcess.lambda$new$0(AlluxioWorkerProcess.java:103)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:750)
Caused by: org.rocksdb.RocksDBException: lock hold by current process, acquire time 1658819875 acquiring thread 139845559854848: /tmp/alluxio_cache/ROCKS/LOCK: No locks available
	at org.rocksdb.RocksDB.open(Native Method)
	at org.rocksdb.RocksDB.open(RocksDB.java:305)
	at alluxio.client.file.cache.store.RocksPageStore.openDB(RocksPageStore.java:108)
	at alluxio.client.file.cache.store.RocksPageStore.open(RocksPageStore.java:72)
	... 20 more

To Reproduce Configure the worker to use paged block store and ROCKS as the store type.

Expected behavior The worker should start normally.

Urgency Medium

dbw9580 avatar Jul 26 '22 11:07 dbw9580