-
Notifications
You must be signed in to change notification settings - Fork 588
HDDS-3679. Add unit tests for PipelineManagerV2. #1019
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
nandakumar131
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @timmylicheng for working on this. Added the review comments inline.
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/StateManager.java
Outdated
Show resolved
Hide resolved
...hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineManagerV2Impl.java
Outdated
Show resolved
Hide resolved
...ds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineManagerImpl.java
Outdated
Show resolved
Hide resolved
...ds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineManagerImpl.java
Outdated
Show resolved
Hide resolved
...ds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineManagerImpl.java
Outdated
Show resolved
Hide resolved
...ds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineManagerImpl.java
Outdated
Show resolved
Hide resolved
...ds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineManagerImpl.java
Outdated
Show resolved
Hide resolved
...ds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineManagerImpl.java
Outdated
Show resolved
Hide resolved
...ds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineManagerImpl.java
Outdated
Show resolved
Hide resolved
...ds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineManagerImpl.java
Outdated
Show resolved
Hide resolved
|
@timmylicheng |
|
Dump shows it's related to rocksdb. Not sure if it's related to multiple DBs being merged. Stack looks weird to me. Any ideas? @nandakumar131 @elek @xiaoyuyao |
|
FYI: can reproduce it on linux, locally. It seems to be disappeared when I upgraded my rocksdb version in the main I think it's good to upgrade as multiple corruption issues are fixed since 6.8.1... |
@elek Shall we make a separate commit to upgrade rocksdb version? |
I am open for both approaches, but seems to be a good idea to do it on I am +1, in advance, if the build is green ;-) (But we can also add it to here temporary, to check if it helps...) |
|
@elek Tests seem passed here. I created https://issues.apache.org/jira/browse/HDDS-3776 to track rocksdb upgrade. |
Without any rocksdb upgrade? Scary... Can be a new intermittent failure... I quickly uploaded the version bump to avoid similar issues in the future #1077 (Thanks to open the issue.) I am merging it. As I see all the comments from @nandakumar131 (thanks the review!) are addressed. Thanks the contribution @timmylicheng |
|
Even after HDDS-3776 I'm able to see the jvm crash because of |
|
The crash is not due to RocksDB bug. We are trying to access the DB after closing it, which is causing the crash. The C [librocksdbjni5084871938501755619.jnilib+0x10243e] _ZN7rocksdb6DBImpl3PutERKNS_12WriteOptionsEPNS_18ColumnFamilyHandleERKNS_5SliceES8_+0xe
C [librocksdbjni5084871938501755619.jnilib+0x181b1] _Z18rocksdb_put_helperP7JNIEnv_PN7rocksdb2DBERKNS1_12WriteOptionsEPNS1_18ColumnFamilyHandleEP11_jbyteArrayiiSA_ii+0x131
j org.rocksdb.RocksDB.put(JJ[BII[BIIJ)V+0
j org.rocksdb.RocksDB.put(Lorg/rocksdb/ColumnFamilyHandle;Lorg/rocksdb/WriteOptions;[B[B)V+23
j org.apache.hadoop.hdds.utils.db.RDBTable.put([B[B)V+14
j org.apache.hadoop.hdds.utils.db.RDBTable.put(Ljava/lang/Object;Ljava/lang/Object;)V+9
j org.apache.hadoop.hdds.utils.db.TypedTable.put(Ljava/lang/Object;Ljava/lang/Object;)V+26
j org.apache.hadoop.hdds.scm.pipeline.PipelineStateManagerV2Impl.addPipeline(Lorg/apache/hadoop/hdds/protocol/proto/HddsProtos$Pipeline;)V+14
j sun.reflect.GeneratedMethodAccessor7.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+40
J 1739 C2 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x000000010a9f7ba8 [0x000000010a9f7b00+0xa8]
j org.apache.hadoop.hdds.scm.ha.MockSCMHAManager$MockRatisServer.process(Lorg/apache/hadoop/hdds/scm/ha/SCMRatisRequest;)Lorg/apache/ratis/protocol/Message;+131
j org.apache.hadoop.hdds.scm.ha.MockSCMHAManager$MockRatisServer.submitRequest(Lorg/apache/hadoop/hdds/scm/ha/SCMRatisRequest;)Lorg/apache/hadoop/hdds/scm/ha/SCMRatisResponse;+14
j org.apache.hadoop.hdds.scm.ha.SCMHAInvocationHandler.invokeRatis(Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;+31
J 1944 C1 org.apache.hadoop.hdds.scm.ha.SCMHAInvocationHandler.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x000000010aa7728c [0x000000010aa76c40+0x64c]
j com.sun.proxy.$Proxy9.addPipeline(Lorg/apache/hadoop/hdds/protocol/proto/HddsProtos$Pipeline;)V+16
j org.apache.hadoop.hdds.scm.pipeline.PipelineManagerV2Impl.createPipeline(Lorg/apache/hadoop/hdds/protocol/proto/HddsProtos$ReplicationType;Lorg/apache/hadoop/hdds/protocol/proto/HddsProtos$ReplicationFactor;)Lorg/apache/hadoop/hdds/scm/pipeline/Pipeline;+66
j org.apache.hadoop.hdds.scm.pipeline.BackgroundPipelineCreator.createPipelines()V+130
j org.apache.hadoop.hdds.scm.pipeline.BackgroundPipelineCreator$$Lambda$20.run()V+4
j java.util.concurrent.Executors$RunnableAdapter.call()Ljava/lang/Object;+4
j java.util.concurrent.FutureTask.run()V+42
j java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;)V+1
j java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run()V+30
j java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+95
j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5
j java.lang.Thread.run()V+11Ideally, the test case execution should end when |
|
Created HDDS-3890 for the same. |
What changes were proposed in this pull request?
Add tests for PipelineManagerV2.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-3679
Please replace this section with the link to the Apache JIRA)
How was this patch tested?
UT