ctubbsii commented on code in PR #3677:
URL: https://github.com/apache/accumulo/pull/3677#discussion_r1286666547


##########
test/src/main/java/org/apache/accumulo/test/functional/HalfClosedTablet2IT.java:
##########
@@ -0,0 +1,121 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.accumulo.test.functional;
+
+import java.io.File;
+
+import org.apache.accumulo.core.client.Accumulo;
+import org.apache.accumulo.core.conf.Property;
+import org.apache.accumulo.core.data.Mutation;
+import org.apache.accumulo.core.data.TableId;
+import org.apache.accumulo.core.data.Value;
+import org.apache.accumulo.core.spi.fs.DelegatingChooser;
+import org.apache.accumulo.core.spi.fs.PreferredVolumeChooser;
+import org.apache.accumulo.harness.MiniClusterConfigurationCallback;
+import org.apache.accumulo.harness.SharedMiniClusterBase;
+import org.apache.accumulo.miniclusterImpl.MiniAccumuloConfigImpl;
+import org.apache.accumulo.test.util.Wait;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.io.Text;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+
+//This IT tests the cases seen in 
https://github.com/apache/accumulo/issues/3674
+//where a failing minor compaction causes a Tablet.initiateClose to leave the
+//Tablet in a half-closed state. The half-closed Tablet cannot be unloaded and
+//the TabletServer cannot be shutdown normally. Because the minor compaction 
has
+//been failing the Tablet needs to be recovered when it's ultimately 
re-assigned.
+//The test in this class sets up a VolumeChooser configuration on 
MiniAccumuloCluster
+//to test a specific code path that caused the minor compaction thread to die.

Review Comment:
   My suggestion to make this description slightly more concise, and adding 
spaces after the double-slashes to conform to our normal comment style.
   
   ```suggestion
   // This covers issues like that reported in 
https://github.com/apache/accumulo/issues/3674
   // where a failing minor compaction leaves the Tablet in a half-closed state 
that prevents it
   // from unloading and the TServer from shutting down normally.
   // This test recreates that scenario by setting an invalid context and 
verifies that the
   // tablet can recover and unload after the context is set correctly.
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to