Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2332563185 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesTableProcedure.java: ## @@ -0,0 +1,173 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.List; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.TableDescriptor; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshHFilesTableProcedureState; + [email protected] +public class RefreshHFilesTableProcedure + extends AbstractStateMachineTableProcedure { + private static final Logger LOG = LoggerFactory.getLogger(RefreshHFilesTableProcedure.class); + + private TableName tableName; + private String namespaceName; + + public RefreshHFilesTableProcedure() { +super(); + } + + public RefreshHFilesTableProcedure(MasterProcedureEnv env) { +super(env); + } + + public RefreshHFilesTableProcedure(MasterProcedureEnv env, TableName tableName) { +super(env); +this.tableName = tableName; + } + + public RefreshHFilesTableProcedure(MasterProcedureEnv env, String namespaceName) { +super(env); +this.namespaceName = namespaceName; + } + + @Override + public TableOperationType getTableOperationType() { +return TableOperationType.REFRESH_HFILES; + } + + @Override + protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException { +super.serializeStateData(serializer); +MasterProcedureProtos.RefreshHFilesTableProcedureStateData.Builder builder = + MasterProcedureProtos.RefreshHFilesTableProcedureStateData.newBuilder(); +if (tableName != null && namespaceName == null) { + builder.setTableName(ProtobufUtil.toProtoTableName(tableName)); +} else if (tableName == null && namespaceName != null) { + builder.setNamespaceName(namespaceName); +} +serializer.serialize(builder.build()); + } + + @Override + protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { +super.deserializeStateData(serializer); +MasterProcedureProtos.RefreshHFilesTableProcedureStateData data = + serializer.deserialize(MasterProcedureProtos.RefreshHFilesTableProcedureStateData.class); +if (data.hasTableName() && !data.hasNamespaceName()) { + this.tableName = ProtobufUtil.toTableName(data.getTableName()); +} else if (!data.hasTableName() && data.hasNamespaceName()) { + this.namespaceName = data.getNamespaceName(); +} + } + + @Override + public TableName getTableName() { +if (tableName != null && namespaceName == null) { + return tableName; +} +return DUMMY_NAMESPACE_TABLE_NAME; + } + + @Override + protected RefreshHFilesTableProcedureState getInitialState() { +return RefreshHFilesTableProcedureState.REFRESH_HFILES_PREPARE; + } + + @Override + protected int getStateId(RefreshHFilesTableProcedureState state) { +return state.getNumber(); + } + + @Override + protected RefreshHFilesTableProcedureState getState(int stateId) { +return RefreshHFilesTableProcedureState.forNumber(stateId); + } + + @Override + protected void rollbackState(MasterProcedureEnv env, RefreshHFilesTableProcedureState state) +throws IOException, InterruptedException { +// Refresh HFiles is idempotent operation hence rollback is not needed +LOG.trace("Rollback not implemented for RefreshHFilesTableProcedure state: {}", state); + } + + @Override + protected Flow executeFromState(MasterProcedureEnv env, RefreshHFilesTableProcedureState state) { +LOG.info("Executing RefreshHFilesTableProcedureState state: {}", state); + +try { + return switch (state) { +case
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2332230822 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesTableProcedure.java: ## @@ -0,0 +1,173 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.List; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.TableDescriptor; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshHFilesTableProcedureState; + [email protected] +public class RefreshHFilesTableProcedure + extends AbstractStateMachineTableProcedure { + private static final Logger LOG = LoggerFactory.getLogger(RefreshHFilesTableProcedure.class); + + private TableName tableName; + private String namespaceName; + + public RefreshHFilesTableProcedure() { +super(); + } + + public RefreshHFilesTableProcedure(MasterProcedureEnv env) { +super(env); + } + + public RefreshHFilesTableProcedure(MasterProcedureEnv env, TableName tableName) { +super(env); +this.tableName = tableName; + } + + public RefreshHFilesTableProcedure(MasterProcedureEnv env, String namespaceName) { +super(env); +this.namespaceName = namespaceName; + } + + @Override + public TableOperationType getTableOperationType() { +return TableOperationType.REFRESH_HFILES; + } + + @Override + protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException { +super.serializeStateData(serializer); +MasterProcedureProtos.RefreshHFilesTableProcedureStateData.Builder builder = + MasterProcedureProtos.RefreshHFilesTableProcedureStateData.newBuilder(); +if (tableName != null && namespaceName == null) { + builder.setTableName(ProtobufUtil.toProtoTableName(tableName)); +} else if (tableName == null && namespaceName != null) { + builder.setNamespaceName(namespaceName); +} +serializer.serialize(builder.build()); + } + + @Override + protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { +super.deserializeStateData(serializer); +MasterProcedureProtos.RefreshHFilesTableProcedureStateData data = + serializer.deserialize(MasterProcedureProtos.RefreshHFilesTableProcedureStateData.class); +if (data.hasTableName() && !data.hasNamespaceName()) { + this.tableName = ProtobufUtil.toTableName(data.getTableName()); +} else if (!data.hasTableName() && data.hasNamespaceName()) { + this.namespaceName = data.getNamespaceName(); +} + } + + @Override + public TableName getTableName() { +if (tableName != null && namespaceName == null) { + return tableName; +} +return DUMMY_NAMESPACE_TABLE_NAME; + } + + @Override + protected RefreshHFilesTableProcedureState getInitialState() { +return RefreshHFilesTableProcedureState.REFRESH_HFILES_PREPARE; + } + + @Override + protected int getStateId(RefreshHFilesTableProcedureState state) { +return state.getNumber(); + } + + @Override + protected RefreshHFilesTableProcedureState getState(int stateId) { +return RefreshHFilesTableProcedureState.forNumber(stateId); + } + + @Override + protected void rollbackState(MasterProcedureEnv env, RefreshHFilesTableProcedureState state) +throws IOException, InterruptedException { +// Refresh HFiles is idempotent operation hence rollback is not needed +LOG.trace("Rollback not implemented for RefreshHFilesTableProcedure state: {}", state); + } + + @Override + protected Flow executeFromState(MasterProcedureEnv env, RefreshHFilesTableProcedureState state) { +LOG.info("Executing RefreshHFilesTableProcedureState state: {}", state); + +try { + return switch (state) { +case
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2332623476
##
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRefreshHFilesFromClient.java:
##
@@ -0,0 +1,199 @@
+/*
+ * 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
+ *
+ * http://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.hadoop.hbase.client;
+
+import static
org.apache.hadoop.hbase.client.AsyncConnectionConfiguration.START_LOG_ERRORS_AFTER_COUNT_KEY;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Arrays;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtil;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.NamespaceDescriptor;
+import org.apache.hadoop.hbase.NamespaceNotFoundException;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.TableNotFoundException;
+import org.apache.hadoop.hbase.testclassification.ClientTests;
+import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.hbase.thirdparty.com.google.common.io.Closeables;
+
+@Category({ MediumTests.class, ClientTests.class })
+public class TestRefreshHFilesFromClient {
+ @ClassRule
+ public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestRefreshHFilesFromClient.class);
+
+ private static final Logger LOG =
LoggerFactory.getLogger(TestRefreshHFilesFromClient.class);
+ private final static HBaseTestingUtil TEST_UTIL = new HBaseTestingUtil();
+ private static AsyncConnection asyncConn;
+ private static Admin admin;
+ private static Configuration conf;
+ private static final TableName TEST_TABLE =
TableName.valueOf("testRefreshHFilesTable");
+ private static final TableName TEST_INVALID_TABLE =
+TableName.valueOf("testRefreshHFilesInvalidTable");
+ private static final String TEST_NAMESPACE = "testRefreshHFilesNamespace";
+ private static final String TEST_INVALID_NAMESPACE =
"testRefreshHFilesInvalidNamespace";
Review Comment:
Done.
##
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRefreshHFilesFromClient.java:
##
@@ -0,0 +1,199 @@
+/*
+ * 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
+ *
+ * http://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.hadoop.hbase.client;
+
+import static
org.apache.hadoop.hbase.client.AsyncConnectionConfiguration.START_LOG_ERRORS_AFTER_COUNT_KEY;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Arrays;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtil;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.NamespaceDescriptor;
+import org.apache.hadoop.hbase.NamespaceNotFoundException;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.TableNotFoundException;
+import org.apache.hadoop.hbase.testclassification.ClientTests;
+import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.ClassRule;
+import
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3269446290
> To be honest I cannot see in this code where the actual refresh happens. I
see that how the procedure is getting executed on the affected regions, but
where do we refresh the hfiles from disk? Where do we make a list of available
HFiles from the filesystem?
The refresh HFiles is happening in doCall() of
[RefreshHFilesCallable.java](https://github.com/apache/hbase/pull/7149/files#diff-8513defcad3eb06c40f0857b688de77aba68f12a59048944cdd6314c937d051d).
The exact code snippet responsible for this is:
```
for (Store store : region.getStores()) {
store.refreshStoreFiles();
}
```
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
anmolnar merged PR #7149: URL: https://github.com/apache/hbase/pull/7149 -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
anmolnar commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2344943944 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesRegionProcedure.java: ## @@ -0,0 +1,132 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.Optional; +import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.hadoop.hbase.master.assignment.RegionStateNode; +import org.apache.hadoop.hbase.master.assignment.RegionStates; +import org.apache.hadoop.hbase.procedure2.FailedRemoteDispatchException; +import org.apache.hadoop.hbase.procedure2.Procedure; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException; +import org.apache.hadoop.hbase.procedure2.ProcedureYieldException; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureException; +import org.apache.hadoop.hbase.regionserver.RefreshHFilesCallable; +import org.apache.yetus.audience.InterfaceAudience; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; + [email protected] +public class RefreshHFilesRegionProcedure extends Procedure + implements TableProcedureInterface, + RemoteProcedureDispatcher.RemoteProcedure { + private RegionInfo region; + + public RefreshHFilesRegionProcedure() { + } + + public RefreshHFilesRegionProcedure(RegionInfo region) { +this.region = region; + } + + @Override + protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData data = + serializer.deserialize(MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.class); +this.region = ProtobufUtil.toRegionInfo(data.getRegion()); +// TODO Get the Data from region server + } + + @Override + protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.Builder builder = + MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.newBuilder(); +builder.setRegion(ProtobufUtil.toRegionInfo(region)); +// TODO add data that you want to pass to region server +serializer.serialize(builder.build()); + } + + @Override + protected boolean abort(MasterProcedureEnv env) { +return false; + } + + @Override + protected void rollback(MasterProcedureEnv env) throws IOException, InterruptedException { +throw new UnsupportedOperationException(); + } + + @Override + protected Procedure[] execute(MasterProcedureEnv env) +throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException { +RegionStates regionStates = env.getAssignmentManager().getRegionStates(); +RegionStateNode regionNode = regionStates.getRegionStateNode(region); Review Comment: Based on AWS [blogpost](https://aws.amazon.com/blogs/big-data/setting-up-read-replica-clusters-with-hbase-on-amazon-s3/) compactions can be enabled on the active cluster, however I don't fully understand the following statement: > On the primary cluster: > If compactions are enabled, run a compaction to avoid inconsistencies when major compactions are triggered (minor compactions are handled). Run a compaction where? On the active/primary cluster? What does "minor compactions are handled" mean? Anyway, I think anything could happen on the active cluster with regions and HFiles, therefore clients of the read replica cluster should be prepared for all kinds of read errors. In order to get the read replica cluster consistent with the primary user has to manually run the following steps (as mentioned in AWS blogpost too): On the read replica: 1. Run ‘refresh_hfiles’ when: Records are added/modified for a table. 2. Run ‘refresh_meta’ when: Regions have
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
anmolnar commented on PR #7149: URL: https://github.com/apache/hbase/pull/7149#issuecomment-3286067623 The same scenario works fine with SFT turned off. -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2332612251
##
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRefreshHFilesFromClient.java:
##
@@ -0,0 +1,199 @@
+/*
+ * 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
+ *
+ * http://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.hadoop.hbase.client;
+
+import static
org.apache.hadoop.hbase.client.AsyncConnectionConfiguration.START_LOG_ERRORS_AFTER_COUNT_KEY;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Arrays;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtil;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.NamespaceDescriptor;
+import org.apache.hadoop.hbase.NamespaceNotFoundException;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.TableNotFoundException;
+import org.apache.hadoop.hbase.testclassification.ClientTests;
+import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.hbase.thirdparty.com.google.common.io.Closeables;
+
+@Category({ MediumTests.class, ClientTests.class })
+public class TestRefreshHFilesFromClient {
+ @ClassRule
+ public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestRefreshHFilesFromClient.class);
+
+ private static final Logger LOG =
LoggerFactory.getLogger(TestRefreshHFilesFromClient.class);
+ private final static HBaseTestingUtil TEST_UTIL = new HBaseTestingUtil();
+ private static AsyncConnection asyncConn;
+ private static Admin admin;
+ private static Configuration conf;
+ private static final TableName TEST_TABLE =
TableName.valueOf("testRefreshHFilesTable");
+ private static final TableName TEST_INVALID_TABLE =
+TableName.valueOf("testRefreshHFilesInvalidTable");
+ private static final String TEST_NAMESPACE = "testRefreshHFilesNamespace";
+ private static final String TEST_INVALID_NAMESPACE =
"testRefreshHFilesInvalidNamespace";
+ private static final String TEST_TABLE_IN_NAMESPACE = TEST_NAMESPACE +
":testTableInNamespace";
+ private static final byte[] TEST_FAMILY =
Bytes.toBytes("testRefreshHFilesCF1");
+
+ @Before
+ public void setUp() throws Exception {
+conf = TEST_UTIL.getConfiguration();
+conf.setInt(HConstants.HBASE_RPC_TIMEOUT_KEY, 6);
+conf.setInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT, 12);
+conf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 1);
+conf.setInt(START_LOG_ERRORS_AFTER_COUNT_KEY, 0);
+conf.setInt(HConstants.ZK_SESSION_TIMEOUT, 1000);
+
+// Start the test cluster
+TEST_UTIL.startMiniCluster(1);
+asyncConn =
ConnectionFactory.createAsyncConnection(TEST_UTIL.getConfiguration()).get();
+admin = TEST_UTIL.getAdmin();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+Closeables.close(asyncConn, true);
+TEST_UTIL.shutdownMiniCluster();
+ }
+
+ private void createNamespace(String namespace) throws RuntimeException {
+try {
+ final NamespaceDescriptor nsd =
NamespaceDescriptor.create(namespace).build();
+ // Create the namespace if it doesn’t exist
+ if (
+Arrays.stream(admin.listNamespaceDescriptors())
+ .noneMatch(ns -> ns.getName().equals(namespace))
+ ) {
+admin.createNamespace(nsd);
+ }
+} catch (Exception e) {
+ throw new RuntimeException(e);
+}
+ }
+
+ private void deleteNamespace(String namespace) {
+try {
+ // List table in namespace
+ TableName[] tables = admin.listTableNamesByNamespace(namespace);
+ for (TableName t : tables) {
+TEST_UTIL.deleteTableIfAny(t);
+ }
+ // Now delete the namespace
+ admin.deleteNamespace(namespace);
+} catch (Exception e) {
+ LOG.debug(
+"Unable to delete namespace " + namespace + " post test execution.
This isn't a failure");
+}
+ }
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3281921329
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 30s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 36s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 22s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 6m 25s | | HBASE-29081 passed |
| -0 :warning: | checkstyle | 0m 15s |
[/buildtool-branch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/18/artifact/yetus-general-check/output/buildtool-branch-checkstyle-hbase-server.txt)
| The patch fails to run checkstyle in hbase-server |
| +1 :green_heart: | spotbugs | 6m 23s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 0m 47s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 6s | | the patch passed |
| +1 :green_heart: | compile | 6m 24s | | the patch passed |
| +1 :green_heart: | cc | 6m 24s | | the patch passed |
| +1 :green_heart: | javac | 6m 24s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 14s |
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/18/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
| The patch fails to run checkstyle in hbase-server |
| -0 :warning: | rubocop | 0m 20s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/18/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 15 new + 447 unchanged - 0 fixed = 462 total (was 447)
|
| +1 :green_heart: | spotbugs | 7m 1s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 11m 43s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 2m 33s | | the patch passed |
| -1 :x: | spotless | 0m 21s | | patch has 21 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 55s | | The patch does not
generate ASF License warnings. |
| | | 62m 7s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/18/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux d08e9a4acfa9 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / 59ca0106677b9c8f27e70e2377cd874a1d87a557 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/18/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 86 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell hbase-examples U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/18/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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:
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3283332706
:confetti_ball: **+1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 36s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 3s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 13s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 11s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 3m 42s | | HBASE-29081 passed |
| +1 :green_heart: | javadoc | 2m 31s | | HBASE-29081 passed |
| +1 :green_heart: | shadedjars | 6m 42s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 16s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 42s | | the patch passed |
| +1 :green_heart: | compile | 2m 57s | | the patch passed |
| +1 :green_heart: | javac | 2m 57s | | the patch passed |
| +1 :green_heart: | javadoc | 1m 53s | | the patch passed |
| +1 :green_heart: | shadedjars | 6m 3s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| +1 :green_heart: | unit | 0m 34s | | hbase-protocol-shaded in the
patch passed. |
| +1 :green_heart: | unit | 1m 34s | | hbase-client in the patch
passed. |
| +1 :green_heart: | unit | 230m 59s | | hbase-server in the patch
passed. |
| +1 :green_heart: | unit | 7m 52s | | hbase-thrift in the patch
passed. |
| +1 :green_heart: | unit | 6m 57s | | hbase-shell in the patch
passed. |
| +1 :green_heart: | unit | 1m 54s | | hbase-examples in the patch
passed. |
| | | 288m 0s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/19/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 0b93902ee750 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / 59ca0106677b9c8f27e70e2377cd874a1d87a557 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/19/testReport/
|
| Max. process+thread count | 4058 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell hbase-examples U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/19/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3282757925
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 34s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 47s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 7m 14s | | HBASE-29081 passed |
| -0 :warning: | checkstyle | 0m 16s |
[/buildtool-branch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/19/artifact/yetus-general-check/output/buildtool-branch-checkstyle-hbase-server.txt)
| The patch fails to run checkstyle in hbase-server |
| +1 :green_heart: | spotbugs | 6m 44s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 0m 44s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 0s | | the patch passed |
| +1 :green_heart: | compile | 6m 20s | | the patch passed |
| +1 :green_heart: | cc | 6m 20s | | the patch passed |
| +1 :green_heart: | javac | 6m 20s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 14s |
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/19/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
| The patch fails to run checkstyle in hbase-server |
| -0 :warning: | rubocop | 0m 8s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/19/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 15 new + 447 unchanged - 0 fixed = 462 total (was 447)
|
| +1 :green_heart: | spotbugs | 6m 58s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 11m 34s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 2m 37s | | the patch passed |
| -1 :x: | spotless | 0m 21s | | patch has 21 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 55s | | The patch does not
generate ASF License warnings. |
| | | 62m 42s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/19/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux 95f99106f28f 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / 59ca0106677b9c8f27e70e2377cd874a1d87a557 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/19/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 86 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell hbase-examples U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/19/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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:
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3282595330
:confetti_ball: **+1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 34s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 3s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 24s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 22s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 2m 54s | | HBASE-29081 passed |
| +1 :green_heart: | javadoc | 1m 50s | | HBASE-29081 passed |
| +1 :green_heart: | shadedjars | 6m 11s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 13s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 8s | | the patch passed |
| +1 :green_heart: | compile | 2m 55s | | the patch passed |
| +1 :green_heart: | javac | 2m 55s | | the patch passed |
| +1 :green_heart: | javadoc | 1m 50s | | the patch passed |
| +1 :green_heart: | shadedjars | 6m 11s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| +1 :green_heart: | unit | 0m 34s | | hbase-protocol-shaded in the
patch passed. |
| +1 :green_heart: | unit | 1m 31s | | hbase-client in the patch
passed. |
| +1 :green_heart: | unit | 236m 20s | | hbase-server in the patch
passed. |
| +1 :green_heart: | unit | 7m 14s | | hbase-thrift in the patch
passed. |
| +1 :green_heart: | unit | 6m 55s | | hbase-shell in the patch
passed. |
| +1 :green_heart: | unit | 1m 52s | | hbase-examples in the patch
passed. |
| | | 290m 16s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/18/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 1e98f840bb1c 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / 59ca0106677b9c8f27e70e2377cd874a1d87a557 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/18/testReport/
|
| Max. process+thread count | 4642 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell hbase-examples U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/18/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3273801519
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 36s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 36s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 32s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 6m 11s | | HBASE-29081 passed |
| +1 :green_heart: | checkstyle | 1m 50s | | HBASE-29081 passed |
| +1 :green_heart: | spotbugs | 6m 19s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 0m 48s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 6s | | the patch passed |
| +1 :green_heart: | compile | 6m 9s | | the patch passed |
| +1 :green_heart: | cc | 6m 9s | | the patch passed |
| +1 :green_heart: | javac | 6m 9s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 13s |
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/17/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
| The patch fails to run checkstyle in hbase-server |
| -0 :warning: | rubocop | 0m 19s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/17/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 15 new + 445 unchanged - 0 fixed = 460 total (was 445)
|
| +1 :green_heart: | spotbugs | 6m 52s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 12m 16s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 2m 28s | | the patch passed |
| -1 :x: | spotless | 0m 20s | | patch has 21 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 51s | | The patch does not
generate ASF License warnings. |
| | | 62m 30s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/17/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux 7d6fcee022ee 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / 992751dcc5f099059039e62105696e40d2c44db6 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/17/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 86 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell hbase-examples U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/17/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3274630718
:confetti_ball: **+1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 31s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 3s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 20s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 2m 57s | | HBASE-29081 passed |
| +1 :green_heart: | javadoc | 1m 52s | | HBASE-29081 passed |
| +1 :green_heart: | shadedjars | 6m 18s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 14s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 10s | | the patch passed |
| +1 :green_heart: | compile | 2m 56s | | the patch passed |
| +1 :green_heart: | javac | 2m 56s | | the patch passed |
| +1 :green_heart: | javadoc | 1m 48s | | the patch passed |
| +1 :green_heart: | shadedjars | 6m 13s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| +1 :green_heart: | unit | 0m 33s | | hbase-protocol-shaded in the
patch passed. |
| +1 :green_heart: | unit | 1m 32s | | hbase-client in the patch
passed. |
| +1 :green_heart: | unit | 242m 58s | | hbase-server in the patch
passed. |
| +1 :green_heart: | unit | 7m 32s | | hbase-thrift in the patch
passed. |
| +1 :green_heart: | unit | 6m 54s | | hbase-shell in the patch
passed. |
| +1 :green_heart: | unit | 1m 53s | | hbase-examples in the patch
passed. |
| | | 297m 13s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/17/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux d66b12c982b4 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / 992751dcc5f099059039e62105696e40d2c44db6 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/17/testReport/
|
| Max. process+thread count | 3525 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell hbase-examples U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/17/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3271014211
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 42s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 4s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 4m 10s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 3m 50s | | HBASE-29081 passed |
| +1 :green_heart: | javadoc | 2m 33s | | HBASE-29081 passed |
| +1 :green_heart: | shadedjars | 7m 21s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 15s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 4m 5s | | the patch passed |
| +1 :green_heart: | compile | 3m 39s | | the patch passed |
| +1 :green_heart: | javac | 3m 39s | | the patch passed |
| +1 :green_heart: | javadoc | 2m 27s | | the patch passed |
| +1 :green_heart: | shadedjars | 7m 28s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| +1 :green_heart: | unit | 0m 44s | | hbase-protocol-shaded in the
patch passed. |
| +1 :green_heart: | unit | 2m 8s | | hbase-client in the patch
passed. |
| -1 :x: | unit | 17m 33s |
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/16/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
| hbase-server in the patch failed. |
| +1 :green_heart: | unit | 6m 45s | | hbase-thrift in the patch
passed. |
| +1 :green_heart: | unit | 8m 14s | | hbase-shell in the patch
passed. |
| +1 :green_heart: | unit | 2m 39s | | hbase-examples in the patch
passed. |
| | | 77m 44s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/16/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux e9f3979a5e58 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / 7a786100e5acf0435ba1bc5eebd0df71d41d68fe |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/16/testReport/
|
| Max. process+thread count | 2032 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell hbase-examples U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/16/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2335759965
##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java:
##
@@ -4543,4 +4544,61 @@ protected String getDescription() {
}
});
}
+
+ public Long refreshHfiles(final TableName tableName, final long nonceGroup,
final long nonce)
+throws IOException {
+// TODO Check if table exists otherwise send exception.
+// return 121L;
+return MasterProcedureUtil
+ .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this,
nonceGroup, nonce) {
+@Override
+protected void run() throws IOException {
+ LOG.info("Submitting RefreshHfilesTableProcedure for a table");
+ submitProcedure(
+new
RefreshHFilesTableProcedure(procedureExecutor.getEnvironment(), tableName));
+}
+
+@Override
+protected String getDescription() {
+ return "RefreshHfilesProcedure for a table";
+}
+ });
+ }
+
+ public Long refreshHfiles(final String namespace, final long nonceGroup,
final long nonce)
+throws IOException {
+// TODO Check if namespace exists otherwise send exception.
+// return 122L;
+return MasterProcedureUtil
+ .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this,
nonceGroup, nonce) {
+@Override
+protected void run() throws IOException {
+ LOG.info("Submitting RefreshHfilesProcedure for namespace");
+ submitProcedure(
+new
RefreshHFilesTableProcedure(procedureExecutor.getEnvironment(), namespace));
+}
+
+@Override
+protected String getDescription() {
+ return "RefreshHfilesProcedure for namespace";
+}
+ });
+ }
+
+ public Long refreshHfiles(final long nonceGroup, final long nonce) throws
IOException {
+// return 123L;
+return MasterProcedureUtil
+ .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this,
nonceGroup, nonce) {
+@Override
+protected void run() throws IOException {
+ LOG.info("Submitting RefreshHfilesProcedure for all tables");
+ submitProcedure(new
RefreshHFilesTableProcedure(procedureExecutor.getEnvironment()));
+}
+
+@Override
+protected String getDescription() {
+ return "RefreshHfilesProcedure for all tables";
+}
+ });
Review Comment:
Done.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2332234546 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesRegionProcedure.java: ## @@ -0,0 +1,198 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.Optional; +import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.hadoop.hbase.master.RegionState; +import org.apache.hadoop.hbase.master.assignment.RegionStateNode; +import org.apache.hadoop.hbase.master.assignment.RegionStates; +import org.apache.hadoop.hbase.procedure2.FailedRemoteDispatchException; +import org.apache.hadoop.hbase.procedure2.Procedure; +import org.apache.hadoop.hbase.procedure2.ProcedureEvent; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException; +import org.apache.hadoop.hbase.procedure2.ProcedureUtil; +import org.apache.hadoop.hbase.procedure2.ProcedureYieldException; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureException; +import org.apache.hadoop.hbase.regionserver.RefreshHFilesCallable; +import org.apache.hadoop.hbase.util.RetryCounter; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; +import org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos; + [email protected] +public class RefreshHFilesRegionProcedure extends Procedure + implements TableProcedureInterface, + RemoteProcedureDispatcher.RemoteProcedure { + private static final Logger LOG = LoggerFactory.getLogger(RefreshHFilesRegionProcedure.class); + private RegionInfo region; + private ProcedureEvent event; + private boolean dispatched; + private boolean succ; + private RetryCounter retryCounter; + + public RefreshHFilesRegionProcedure() { + } + + public RefreshHFilesRegionProcedure(RegionInfo region) { +this.region = region; + } + + @Override + protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData data = + serializer.deserialize(MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.class); +this.region = ProtobufUtil.toRegionInfo(data.getRegion()); + } + + @Override + protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.Builder builder = + MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.newBuilder(); +builder.setRegion(ProtobufUtil.toRegionInfo(region)); +serializer.serialize(builder.build()); + } + + @Override + protected boolean abort(MasterProcedureEnv env) { +return false; + } + + @Override + protected void rollback(MasterProcedureEnv env) throws IOException, InterruptedException { +throw new UnsupportedOperationException(); + } + + private void setTimeoutForSuspend(MasterProcedureEnv env, String reason) { +if (retryCounter == null) { + retryCounter = ProcedureUtil.createRetryCounter(env.getMasterConfiguration()); +} +long backoff = retryCounter.getBackoffTimeAndIncrementAttempts(); +LOG.warn("{} can not run currently because {}, wait {} ms to retry", this, reason, backoff); +setTimeout(Math.toIntExact(backoff)); +setState(ProcedureProtos.ProcedureState.WAITING_TIMEOUT); +skipPersistence(); + } + + @Override + protected Procedure[] execute(MasterProcedureEnv env) +throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException { +if (dispatched) { + if (succ) { +return null; + } + dispatched = false; +} + +RegionStates regionStates = env.getAssignmentManager().getRegionStates(); +
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2333504896 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesRegionProcedure.java: ## @@ -0,0 +1,132 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.Optional; +import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.hadoop.hbase.master.assignment.RegionStateNode; +import org.apache.hadoop.hbase.master.assignment.RegionStates; +import org.apache.hadoop.hbase.procedure2.FailedRemoteDispatchException; +import org.apache.hadoop.hbase.procedure2.Procedure; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException; +import org.apache.hadoop.hbase.procedure2.ProcedureYieldException; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureException; +import org.apache.hadoop.hbase.regionserver.RefreshHFilesCallable; +import org.apache.yetus.audience.InterfaceAudience; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; + [email protected] +public class RefreshHFilesRegionProcedure extends Procedure + implements TableProcedureInterface, + RemoteProcedureDispatcher.RemoteProcedure { + private RegionInfo region; + + public RefreshHFilesRegionProcedure() { + } + + public RefreshHFilesRegionProcedure(RegionInfo region) { +this.region = region; + } + + @Override + protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData data = + serializer.deserialize(MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.class); +this.region = ProtobufUtil.toRegionInfo(data.getRegion()); +// TODO Get the Data from region server + } + + @Override + protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.Builder builder = + MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.newBuilder(); +builder.setRegion(ProtobufUtil.toRegionInfo(region)); +// TODO add data that you want to pass to region server +serializer.serialize(builder.build()); + } + + @Override + protected boolean abort(MasterProcedureEnv env) { +return false; + } + + @Override + protected void rollback(MasterProcedureEnv env) throws IOException, InterruptedException { +throw new UnsupportedOperationException(); + } + + @Override + protected Procedure[] execute(MasterProcedureEnv env) +throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException { +RegionStates regionStates = env.getAssignmentManager().getRegionStates(); +RegionStateNode regionNode = regionStates.getRegionStateNode(region); Review Comment: We will be documenting following: The Switch Over from active to read should strictly follow: - Make Active cluster Read-only > Flush on Active > Refresh_Meta on read replica > refresh_hfiles on read replica - There may be inconsistencies between active and read-replica cluster until the switch over completely happens As per the discussion over the call, we may need to see the feasibility of disabling the catalog janitor or making it aware of read-replica cluster is there, to avoid removal of any Hfiles. I will do bit of investigation and lets discuss this with wider audience in the next sync up. -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3270947285
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 36s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 10s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 10s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 6m 16s | | HBASE-29081 passed |
| +1 :green_heart: | checkstyle | 1m 52s | | HBASE-29081 passed |
| +1 :green_heart: | spotbugs | 6m 21s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 0m 49s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 2m 58s | | the patch passed |
| +1 :green_heart: | compile | 6m 9s | | the patch passed |
| +1 :green_heart: | cc | 6m 9s | | the patch passed |
| -0 :warning: | javac | 3m 17s |
[/results-compile-javac-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/16/artifact/yetus-general-check/output/results-compile-javac-hbase-server.txt)
| hbase-server generated 3 new + 190 unchanged - 3 fixed = 193 total (was
193) |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 15s |
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/16/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
| The patch fails to run checkstyle in hbase-server |
| -0 :warning: | rubocop | 0m 18s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/16/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 15 new + 445 unchanged - 0 fixed = 460 total (was 445)
|
| +1 :green_heart: | spotbugs | 6m 58s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 11m 47s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 2m 30s | | the patch passed |
| -1 :x: | spotless | 0m 21s | | patch has 21 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 55s | | The patch does not
generate ASF License warnings. |
| | | 61m 14s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/16/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux f9f2ceab1f1d 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / 7a786100e5acf0435ba1bc5eebd0df71d41d68fe |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/16/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 86 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell hbase-examples U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/16/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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:
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3270669250
> Let's try to investigate the cases with different store file tracker
implementations.
>
> **1. DefaultStoreFileTracker**
>
> ```java
> /**
> * The default implementation for store file tracker, where we do not
persist the store file list,
> * and use listing when loading store files.
> */
> @InterfaceAudience.Private
> class DefaultStoreFileTracker extends StoreFileTrackerBase {
> ```
>
> So, in this case the refresh command should always get a list of all
HFiles in the CF directory and should be able to detect new HFiles
automatically. Is the correct?
Yes. In this case we will be able to detect and load the newly added files.
>
> **2. File based tracker**
>
> ```java
> /**
> * A file based store file tracker.
> *
> * For this tracking way, the store file list will be persistent into a
file, so we can write the
> * new store files directly to the final data directory, as we will not
load the broken files. This
> * will greatly reduce the time for flush and compaction on some object
storages as a rename is
> * actual a copy on them. And it also avoid listing when loading store
file list, which could also
> * speed up the loading of store files as listing is also not a fast
operation on most object
> * storages.
> */
> @InterfaceAudience.Private
> class FileBasedStoreFileTracker extends StoreFileTrackerBase {
> ```
>
> I think this is the case that you're talking about. In this case SFT might
be able or might not be able to detect new HFiles depending on whether the SFT
file has been updated or not.
In this case, the copy has to be done via HBase only so the tracking file
(IIRC `.filelist` is the file we used for tracking) gets updated properly.
> So, basically if I just copy a new file to the CF directory, it won't be
detected, because of the reasons you mentioned.
In reality, with FileBasedTracker we will not be able to detect this because
simply copying (say in S3) will not update our tracking file (`.filelist`). The
testing issue which we faces is related to opening file for read and not
detecting/loading the file.
(https://github.com/apache/hbase/pull/7149#issuecomment-3269427414)
> But if the new HFile was properly added by another cluster which is using
the same SFT implementation, the file must have been updated properly, so our
cluster will pick it up.
Yes its correct. In case of, DefaultStoreFileTracker (in case of HDFS), we
rely on listing from directory directly so no issue if manual copy happens or
not.
In case of, FileBasedTracker (such as S3), we will be able to detect/load
the newly added HFiles if its added by Active cluster as that will update
`.filelist`, also as its shared between read-replica and active cluster. Read
replica will be able to load it. The caveat is if someone manually copy to S3
without active cluster aware of it then neither Active or readonly be able to
load it.
> If all the above are true, do we need to add any additional logic to the
command?
I don't think we need to add additional logic as if Active cluster
create/modify Hfiles then it will get updated in both active as well as read
replica cluster.
Only the case where user deliberately changes internal structure (copying
files directly to S3 without using bulkload) then its expected to have
inconsistent behavior.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on PR #7149: URL: https://github.com/apache/hbase/pull/7149#issuecomment-3270604017 > I have some suggestions, but LGTM overall. > > I have one thought about the unit tests. I see the `refresh_hfiles` is being performed, but the tests don't switch the cluster in and out of read-only mode when doing the refresh. Should they be doing that or is that more suitable for an integration test? > > PR #7058 has a test case similar to what I'm describing, but it is with `refresh_meta`. Here is the test case I am referring to: https://github.com/apache/hbase/pull/7058/files#diff-17ebd8f29298a3dcce8564212c6712346dc62fd02dac5239ca3f83302eb13439 I have added test variations which just checks for refresh procedure calls executes successfully when readonly is enabled. The case of readonly disabled is covered in other variation so did not repeat it. This test verify refresh_hfiles should succeed on read replica cluster. If we have to check workflow where the data gets manipulated and data consistency gets checked at the end of refresh should be done in an integration test as it involve testing read-only property, dynamic modification of property value and refresh_hfiles together hence, in my opinion better candidate for integration testing. cc: @wchevreuil @anmolnar -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2333163308
##
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestRefreshHFilesProcedure.java:
##
@@ -0,0 +1,193 @@
+/*
+ * 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
+ *
+ * http://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.hadoop.hbase.master.procedure;
+
+import static org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_RETRIES_NUMBER;
+
+import java.io.IOException;
+import java.util.Arrays;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtil;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.NamespaceDescriptor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;
+import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@Category({ MasterTests.class, MediumTests.class })
+public class TestRefreshHFilesProcedure {
+
+ @ClassRule
+ public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestRefreshHFilesProcedure.class);
+
+ private static final Logger LOG =
LoggerFactory.getLogger(TestRefreshHFilesProcedure.class);
+
+ private static final HBaseTestingUtil TEST_UTIL = new HBaseTestingUtil();
+ private Admin admin;
+ private ProcedureExecutor procExecutor;
+ private static Configuration conf;
+ private static final TableName TEST_TABLE =
TableName.valueOf("testRefreshHFilesTable");
+ private static final String TEST_NAMESPACE = "testRefreshHFilesNamespace";
+ private static final String TEST_TABLE_IN_NAMESPACE = TEST_NAMESPACE +
":testTableInNamespace";
+ private static final byte[] TEST_FAMILY =
Bytes.toBytes("testRefreshHFilesCF1");
+
+ @Before
+ public void setup() throws Exception {
+conf = TEST_UTIL.getConfiguration();
+// Shorten the run time of failed unit tests by limiting retries and the
session timeout
+// threshold
+conf.setInt(HBASE_CLIENT_RETRIES_NUMBER, 1);
+conf.setInt(HConstants.ZK_SESSION_TIMEOUT, 1000);
+
+try {
+ // Start the test cluster
+ TEST_UTIL.startMiniCluster(1);
+ admin = TEST_UTIL.getAdmin();
+ procExecutor =
TEST_UTIL.getHBaseCluster().getMaster().getMasterProcedureExecutor();
+} catch (Exception e) {
+ TEST_UTIL.shutdownMiniCluster();
+ throw new RuntimeException(e);
+}
+ }
+
+ @After
+ public void tearDown() throws Exception {
+if (admin != null) {
+ admin.close();
+}
+TEST_UTIL.shutdownMiniCluster();
+ }
+
+ private void createNamespace(String namespace) throws RuntimeException {
Review Comment:
Done. Thanks for the suggestion.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2332626935
##
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRefreshHFilesFromClient.java:
##
@@ -0,0 +1,199 @@
+/*
+ * 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
+ *
+ * http://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.hadoop.hbase.client;
+
+import static
org.apache.hadoop.hbase.client.AsyncConnectionConfiguration.START_LOG_ERRORS_AFTER_COUNT_KEY;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Arrays;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtil;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.NamespaceDescriptor;
+import org.apache.hadoop.hbase.NamespaceNotFoundException;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.TableNotFoundException;
+import org.apache.hadoop.hbase.testclassification.ClientTests;
+import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.hbase.thirdparty.com.google.common.io.Closeables;
+
+@Category({ MediumTests.class, ClientTests.class })
+public class TestRefreshHFilesFromClient {
+ @ClassRule
+ public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestRefreshHFilesFromClient.class);
+
+ private static final Logger LOG =
LoggerFactory.getLogger(TestRefreshHFilesFromClient.class);
+ private final static HBaseTestingUtil TEST_UTIL = new HBaseTestingUtil();
+ private static AsyncConnection asyncConn;
+ private static Admin admin;
+ private static Configuration conf;
+ private static final TableName TEST_TABLE =
TableName.valueOf("testRefreshHFilesTable");
+ private static final TableName TEST_INVALID_TABLE =
+TableName.valueOf("testRefreshHFilesInvalidTable");
+ private static final String TEST_NAMESPACE = "testRefreshHFilesNamespace";
+ private static final String TEST_INVALID_NAMESPACE =
"testRefreshHFilesInvalidNamespace";
+ private static final String TEST_TABLE_IN_NAMESPACE = TEST_NAMESPACE +
":testTableInNamespace";
+ private static final byte[] TEST_FAMILY =
Bytes.toBytes("testRefreshHFilesCF1");
+
+ @Before
+ public void setUp() throws Exception {
+conf = TEST_UTIL.getConfiguration();
+conf.setInt(HConstants.HBASE_RPC_TIMEOUT_KEY, 6);
+conf.setInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT, 12);
+conf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 1);
+conf.setInt(START_LOG_ERRORS_AFTER_COUNT_KEY, 0);
+conf.setInt(HConstants.ZK_SESSION_TIMEOUT, 1000);
+
+// Start the test cluster
+TEST_UTIL.startMiniCluster(1);
+asyncConn =
ConnectionFactory.createAsyncConnection(TEST_UTIL.getConfiguration()).get();
+admin = TEST_UTIL.getAdmin();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+Closeables.close(asyncConn, true);
+TEST_UTIL.shutdownMiniCluster();
+ }
+
+ private void createNamespace(String namespace) throws RuntimeException {
+try {
+ final NamespaceDescriptor nsd =
NamespaceDescriptor.create(namespace).build();
+ // Create the namespace if it doesn’t exist
+ if (
+Arrays.stream(admin.listNamespaceDescriptors())
+ .noneMatch(ns -> ns.getName().equals(namespace))
+ ) {
+admin.createNamespace(nsd);
+ }
+} catch (Exception e) {
+ throw new RuntimeException(e);
+}
+ }
+
+ private void deleteNamespace(String namespace) {
+try {
+ // List table in namespace
+ TableName[] tables = admin.listTableNamesByNamespace(namespace);
+ for (TableName t : tables) {
+TEST_UTIL.deleteTableIfAny(t);
+ }
+ // Now delete the namespace
+ admin.deleteNamespace(namespace);
+} catch (Exception e) {
+ LOG.debug(
+"Unable to delete namespace " + namespace + " post test execution.
This isn't a failure");
+}
+ }
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2332615972
##
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRefreshHFilesFromClient.java:
##
@@ -0,0 +1,199 @@
+/*
+ * 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
+ *
+ * http://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.hadoop.hbase.client;
+
+import static
org.apache.hadoop.hbase.client.AsyncConnectionConfiguration.START_LOG_ERRORS_AFTER_COUNT_KEY;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Arrays;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtil;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.NamespaceDescriptor;
+import org.apache.hadoop.hbase.NamespaceNotFoundException;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.TableNotFoundException;
+import org.apache.hadoop.hbase.testclassification.ClientTests;
+import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.hbase.thirdparty.com.google.common.io.Closeables;
+
+@Category({ MediumTests.class, ClientTests.class })
+public class TestRefreshHFilesFromClient {
+ @ClassRule
+ public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestRefreshHFilesFromClient.class);
+
+ private static final Logger LOG =
LoggerFactory.getLogger(TestRefreshHFilesFromClient.class);
+ private final static HBaseTestingUtil TEST_UTIL = new HBaseTestingUtil();
+ private static AsyncConnection asyncConn;
+ private static Admin admin;
+ private static Configuration conf;
+ private static final TableName TEST_TABLE =
TableName.valueOf("testRefreshHFilesTable");
+ private static final TableName TEST_INVALID_TABLE =
+TableName.valueOf("testRefreshHFilesInvalidTable");
+ private static final String TEST_NAMESPACE = "testRefreshHFilesNamespace";
+ private static final String TEST_INVALID_NAMESPACE =
"testRefreshHFilesInvalidNamespace";
+ private static final String TEST_TABLE_IN_NAMESPACE = TEST_NAMESPACE +
":testTableInNamespace";
+ private static final byte[] TEST_FAMILY =
Bytes.toBytes("testRefreshHFilesCF1");
+
+ @Before
+ public void setUp() throws Exception {
+conf = TEST_UTIL.getConfiguration();
+conf.setInt(HConstants.HBASE_RPC_TIMEOUT_KEY, 6);
+conf.setInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT, 12);
+conf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 1);
+conf.setInt(START_LOG_ERRORS_AFTER_COUNT_KEY, 0);
+conf.setInt(HConstants.ZK_SESSION_TIMEOUT, 1000);
+
+// Start the test cluster
+TEST_UTIL.startMiniCluster(1);
+asyncConn =
ConnectionFactory.createAsyncConnection(TEST_UTIL.getConfiguration()).get();
+admin = TEST_UTIL.getAdmin();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+Closeables.close(asyncConn, true);
+TEST_UTIL.shutdownMiniCluster();
+ }
+
+ private void createNamespace(String namespace) throws RuntimeException {
+try {
+ final NamespaceDescriptor nsd =
NamespaceDescriptor.create(namespace).build();
+ // Create the namespace if it doesn’t exist
+ if (
+Arrays.stream(admin.listNamespaceDescriptors())
+ .noneMatch(ns -> ns.getName().equals(namespace))
+ ) {
+admin.createNamespace(nsd);
+ }
+} catch (Exception e) {
+ throw new RuntimeException(e);
+}
+ }
+
+ private void deleteNamespace(String namespace) {
+try {
+ // List table in namespace
+ TableName[] tables = admin.listTableNamesByNamespace(namespace);
+ for (TableName t : tables) {
+TEST_UTIL.deleteTableIfAny(t);
+ }
+ // Now delete the namespace
+ admin.deleteNamespace(namespace);
+} catch (Exception e) {
+ LOG.debug(
+"Unable to delete namespace " + namespace + " post test execution.
This isn't a failure");
+}
+ }
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2332615972
##
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRefreshHFilesFromClient.java:
##
@@ -0,0 +1,199 @@
+/*
+ * 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
+ *
+ * http://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.hadoop.hbase.client;
+
+import static
org.apache.hadoop.hbase.client.AsyncConnectionConfiguration.START_LOG_ERRORS_AFTER_COUNT_KEY;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Arrays;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtil;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.NamespaceDescriptor;
+import org.apache.hadoop.hbase.NamespaceNotFoundException;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.TableNotFoundException;
+import org.apache.hadoop.hbase.testclassification.ClientTests;
+import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.hbase.thirdparty.com.google.common.io.Closeables;
+
+@Category({ MediumTests.class, ClientTests.class })
+public class TestRefreshHFilesFromClient {
+ @ClassRule
+ public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestRefreshHFilesFromClient.class);
+
+ private static final Logger LOG =
LoggerFactory.getLogger(TestRefreshHFilesFromClient.class);
+ private final static HBaseTestingUtil TEST_UTIL = new HBaseTestingUtil();
+ private static AsyncConnection asyncConn;
+ private static Admin admin;
+ private static Configuration conf;
+ private static final TableName TEST_TABLE =
TableName.valueOf("testRefreshHFilesTable");
+ private static final TableName TEST_INVALID_TABLE =
+TableName.valueOf("testRefreshHFilesInvalidTable");
+ private static final String TEST_NAMESPACE = "testRefreshHFilesNamespace";
+ private static final String TEST_INVALID_NAMESPACE =
"testRefreshHFilesInvalidNamespace";
+ private static final String TEST_TABLE_IN_NAMESPACE = TEST_NAMESPACE +
":testTableInNamespace";
+ private static final byte[] TEST_FAMILY =
Bytes.toBytes("testRefreshHFilesCF1");
+
+ @Before
+ public void setUp() throws Exception {
+conf = TEST_UTIL.getConfiguration();
+conf.setInt(HConstants.HBASE_RPC_TIMEOUT_KEY, 6);
+conf.setInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT, 12);
+conf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 1);
+conf.setInt(START_LOG_ERRORS_AFTER_COUNT_KEY, 0);
+conf.setInt(HConstants.ZK_SESSION_TIMEOUT, 1000);
+
+// Start the test cluster
+TEST_UTIL.startMiniCluster(1);
+asyncConn =
ConnectionFactory.createAsyncConnection(TEST_UTIL.getConfiguration()).get();
+admin = TEST_UTIL.getAdmin();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+Closeables.close(asyncConn, true);
+TEST_UTIL.shutdownMiniCluster();
+ }
+
+ private void createNamespace(String namespace) throws RuntimeException {
+try {
+ final NamespaceDescriptor nsd =
NamespaceDescriptor.create(namespace).build();
+ // Create the namespace if it doesn’t exist
+ if (
+Arrays.stream(admin.listNamespaceDescriptors())
+ .noneMatch(ns -> ns.getName().equals(namespace))
+ ) {
+admin.createNamespace(nsd);
+ }
+} catch (Exception e) {
+ throw new RuntimeException(e);
+}
+ }
+
+ private void deleteNamespace(String namespace) {
+try {
+ // List table in namespace
+ TableName[] tables = admin.listTableNamesByNamespace(namespace);
+ for (TableName t : tables) {
+TEST_UTIL.deleteTableIfAny(t);
+ }
+ // Now delete the namespace
+ admin.deleteNamespace(namespace);
+} catch (Exception e) {
+ LOG.debug(
+"Unable to delete namespace " + namespace + " post test execution.
This isn't a failure");
+}
+ }
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2332610913
##
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRefreshHFilesFromClient.java:
##
@@ -0,0 +1,199 @@
+/*
+ * 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
+ *
+ * http://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.hadoop.hbase.client;
+
+import static
org.apache.hadoop.hbase.client.AsyncConnectionConfiguration.START_LOG_ERRORS_AFTER_COUNT_KEY;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Arrays;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtil;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.NamespaceDescriptor;
+import org.apache.hadoop.hbase.NamespaceNotFoundException;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.TableNotFoundException;
+import org.apache.hadoop.hbase.testclassification.ClientTests;
+import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.hbase.thirdparty.com.google.common.io.Closeables;
+
+@Category({ MediumTests.class, ClientTests.class })
+public class TestRefreshHFilesFromClient {
+ @ClassRule
+ public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestRefreshHFilesFromClient.class);
+
+ private static final Logger LOG =
LoggerFactory.getLogger(TestRefreshHFilesFromClient.class);
+ private final static HBaseTestingUtil TEST_UTIL = new HBaseTestingUtil();
+ private static AsyncConnection asyncConn;
+ private static Admin admin;
+ private static Configuration conf;
+ private static final TableName TEST_TABLE =
TableName.valueOf("testRefreshHFilesTable");
+ private static final TableName TEST_INVALID_TABLE =
Review Comment:
Done.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2332604277 ## hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RefreshHFilesCallable.java: ## @@ -0,0 +1,62 @@ +/* + * 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 + * + * http://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.hadoop.hbase.regionserver; + +import java.io.IOException; +import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.hadoop.hbase.executor.EventType; +import org.apache.hadoop.hbase.procedure2.BaseRSProcedureCallable; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; + Review Comment: Done. -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2332560750 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesRegionProcedure.java: ## @@ -0,0 +1,198 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.Optional; +import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.hadoop.hbase.master.RegionState; +import org.apache.hadoop.hbase.master.assignment.RegionStateNode; +import org.apache.hadoop.hbase.master.assignment.RegionStates; +import org.apache.hadoop.hbase.procedure2.FailedRemoteDispatchException; +import org.apache.hadoop.hbase.procedure2.Procedure; +import org.apache.hadoop.hbase.procedure2.ProcedureEvent; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException; +import org.apache.hadoop.hbase.procedure2.ProcedureUtil; +import org.apache.hadoop.hbase.procedure2.ProcedureYieldException; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureException; +import org.apache.hadoop.hbase.regionserver.RefreshHFilesCallable; +import org.apache.hadoop.hbase.util.RetryCounter; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; +import org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos; + [email protected] +public class RefreshHFilesRegionProcedure extends Procedure + implements TableProcedureInterface, + RemoteProcedureDispatcher.RemoteProcedure { + private static final Logger LOG = LoggerFactory.getLogger(RefreshHFilesRegionProcedure.class); + private RegionInfo region; + private ProcedureEvent event; + private boolean dispatched; + private boolean succ; + private RetryCounter retryCounter; + + public RefreshHFilesRegionProcedure() { + } + + public RefreshHFilesRegionProcedure(RegionInfo region) { +this.region = region; + } + + @Override + protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData data = + serializer.deserialize(MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.class); +this.region = ProtobufUtil.toRegionInfo(data.getRegion()); + } + + @Override + protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.Builder builder = + MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.newBuilder(); +builder.setRegion(ProtobufUtil.toRegionInfo(region)); +serializer.serialize(builder.build()); + } + + @Override + protected boolean abort(MasterProcedureEnv env) { +return false; + } + + @Override + protected void rollback(MasterProcedureEnv env) throws IOException, InterruptedException { +throw new UnsupportedOperationException(); + } + + private void setTimeoutForSuspend(MasterProcedureEnv env, String reason) { +if (retryCounter == null) { + retryCounter = ProcedureUtil.createRetryCounter(env.getMasterConfiguration()); +} +long backoff = retryCounter.getBackoffTimeAndIncrementAttempts(); +LOG.warn("{} can not run currently because {}, wait {} ms to retry", this, reason, backoff); +setTimeout(Math.toIntExact(backoff)); +setState(ProcedureProtos.ProcedureState.WAITING_TIMEOUT); +skipPersistence(); + } + + @Override + protected Procedure[] execute(MasterProcedureEnv env) +throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException { +if (dispatched) { + if (succ) { +return null; + } + dispatched = false; +} + +RegionStates regionStates = env.getAssignmentManager().getRegionStates(); +
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2332533919 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesRegionProcedure.java: ## @@ -0,0 +1,198 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.Optional; +import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.hadoop.hbase.master.RegionState; +import org.apache.hadoop.hbase.master.assignment.RegionStateNode; +import org.apache.hadoop.hbase.master.assignment.RegionStates; +import org.apache.hadoop.hbase.procedure2.FailedRemoteDispatchException; +import org.apache.hadoop.hbase.procedure2.Procedure; +import org.apache.hadoop.hbase.procedure2.ProcedureEvent; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException; +import org.apache.hadoop.hbase.procedure2.ProcedureUtil; +import org.apache.hadoop.hbase.procedure2.ProcedureYieldException; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureException; +import org.apache.hadoop.hbase.regionserver.RefreshHFilesCallable; +import org.apache.hadoop.hbase.util.RetryCounter; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; +import org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos; + [email protected] +public class RefreshHFilesRegionProcedure extends Procedure + implements TableProcedureInterface, + RemoteProcedureDispatcher.RemoteProcedure { + private static final Logger LOG = LoggerFactory.getLogger(RefreshHFilesRegionProcedure.class); + private RegionInfo region; + private ProcedureEvent event; + private boolean dispatched; + private boolean succ; + private RetryCounter retryCounter; + + public RefreshHFilesRegionProcedure() { + } + + public RefreshHFilesRegionProcedure(RegionInfo region) { +this.region = region; + } + + @Override + protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData data = + serializer.deserialize(MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.class); +this.region = ProtobufUtil.toRegionInfo(data.getRegion()); + } + + @Override + protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.Builder builder = + MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.newBuilder(); +builder.setRegion(ProtobufUtil.toRegionInfo(region)); +serializer.serialize(builder.build()); + } + + @Override + protected boolean abort(MasterProcedureEnv env) { +return false; + } + + @Override + protected void rollback(MasterProcedureEnv env) throws IOException, InterruptedException { +throw new UnsupportedOperationException(); + } + + private void setTimeoutForSuspend(MasterProcedureEnv env, String reason) { +if (retryCounter == null) { + retryCounter = ProcedureUtil.createRetryCounter(env.getMasterConfiguration()); +} +long backoff = retryCounter.getBackoffTimeAndIncrementAttempts(); +LOG.warn("{} can not run currently because {}, wait {} ms to retry", this, reason, backoff); +setTimeout(Math.toIntExact(backoff)); +setState(ProcedureProtos.ProcedureState.WAITING_TIMEOUT); +skipPersistence(); + } + + @Override + protected Procedure[] execute(MasterProcedureEnv env) +throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException { +if (dispatched) { + if (succ) { +return null; + } + dispatched = false; +} + +RegionStates regionStates = env.getAssignmentManager().getRegionStates(); +
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2332530509 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesRegionProcedure.java: ## @@ -0,0 +1,198 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.Optional; +import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.hadoop.hbase.master.RegionState; +import org.apache.hadoop.hbase.master.assignment.RegionStateNode; +import org.apache.hadoop.hbase.master.assignment.RegionStates; +import org.apache.hadoop.hbase.procedure2.FailedRemoteDispatchException; +import org.apache.hadoop.hbase.procedure2.Procedure; +import org.apache.hadoop.hbase.procedure2.ProcedureEvent; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException; +import org.apache.hadoop.hbase.procedure2.ProcedureUtil; +import org.apache.hadoop.hbase.procedure2.ProcedureYieldException; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureException; +import org.apache.hadoop.hbase.regionserver.RefreshHFilesCallable; +import org.apache.hadoop.hbase.util.RetryCounter; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; +import org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos; + [email protected] +public class RefreshHFilesRegionProcedure extends Procedure + implements TableProcedureInterface, + RemoteProcedureDispatcher.RemoteProcedure { + private static final Logger LOG = LoggerFactory.getLogger(RefreshHFilesRegionProcedure.class); + private RegionInfo region; + private ProcedureEvent event; + private boolean dispatched; + private boolean succ; + private RetryCounter retryCounter; + + public RefreshHFilesRegionProcedure() { + } + + public RefreshHFilesRegionProcedure(RegionInfo region) { +this.region = region; + } + + @Override + protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData data = + serializer.deserialize(MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.class); +this.region = ProtobufUtil.toRegionInfo(data.getRegion()); + } + + @Override + protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.Builder builder = + MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.newBuilder(); +builder.setRegion(ProtobufUtil.toRegionInfo(region)); +serializer.serialize(builder.build()); + } + + @Override + protected boolean abort(MasterProcedureEnv env) { +return false; + } + + @Override + protected void rollback(MasterProcedureEnv env) throws IOException, InterruptedException { +throw new UnsupportedOperationException(); + } + + private void setTimeoutForSuspend(MasterProcedureEnv env, String reason) { +if (retryCounter == null) { + retryCounter = ProcedureUtil.createRetryCounter(env.getMasterConfiguration()); +} +long backoff = retryCounter.getBackoffTimeAndIncrementAttempts(); +LOG.warn("{} can not run currently because {}, wait {} ms to retry", this, reason, backoff); +setTimeout(Math.toIntExact(backoff)); +setState(ProcedureProtos.ProcedureState.WAITING_TIMEOUT); +skipPersistence(); + } + + @Override + protected Procedure[] execute(MasterProcedureEnv env) +throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException { +if (dispatched) { + if (succ) { +return null; + } + dispatched = false; +} + +RegionStates regionStates = env.getAssignmentManager().getRegionStates(); +
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2332471511 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesRegionProcedure.java: ## @@ -0,0 +1,198 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.Optional; +import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.hadoop.hbase.master.RegionState; +import org.apache.hadoop.hbase.master.assignment.RegionStateNode; +import org.apache.hadoop.hbase.master.assignment.RegionStates; +import org.apache.hadoop.hbase.procedure2.FailedRemoteDispatchException; +import org.apache.hadoop.hbase.procedure2.Procedure; +import org.apache.hadoop.hbase.procedure2.ProcedureEvent; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException; +import org.apache.hadoop.hbase.procedure2.ProcedureUtil; +import org.apache.hadoop.hbase.procedure2.ProcedureYieldException; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureException; +import org.apache.hadoop.hbase.regionserver.RefreshHFilesCallable; +import org.apache.hadoop.hbase.util.RetryCounter; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; +import org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos; + Review Comment: Added class specific documentation with overall logic. Let me know if we need to add method specific documentation too. -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on PR #7149: URL: https://github.com/apache/hbase/pull/7149#issuecomment-3269427414 > Tested with the following steps: > > 1. Create new table 'andor' and added a row and flushed > > ``` > hbase:002:0> create 'andor', 'cf1' > Created table andor > Took 0.6623 seconds > => Hbase::Table - andor > hbase:005:0> put 'andor', 'r1', 'cf1', 'bela1' > Took 0.0099 seconds > hbase:007:0> flush 'andor' > Took 0.3376 seconds > > $ ls -al cf1/ > total 16 > drwxr-xr-x 3 andor staff96 Sep 2 14:42 . > drwxr-xr-x 6 andor staff 192 Sep 2 14:23 .. > -rw-r--r-- 1 andor staff 4959 Sep 2 14:23 56eb73a0801c4c9c91164e74dfaecebe > ``` > > 2. Added another row and flushed again > > ``` > hbase:020:0> scan 'andor' > ROW COLUMN+CELL > r1 column=cf1:, timestamp=2025-09-02T14:23:00.052, value=bela1 > r2 column=cf1:, timestamp=2025-09-02T14:42:42.472, value=bela2 > 2 row(s) > Took 0.0029 seconds > > $ ls -al cf1/ > total 32 > drwxr-xr-x 4 andor staff 128 Sep 2 14:43 . > drwxr-xr-x 6 andor staff 192 Sep 2 14:23 .. > -rw-r--r-- 1 andor staff 4959 Sep 2 14:23 56eb73a0801c4c9c91164e74dfaecebe > -rw-r--r-- 1 andor staff 4959 Sep 2 14:42 ecd71932ecb44b639ede20b42bc7b397 > ``` > > 3. Moved away the second HFile (ecd71932ecb44b639ede20b42bc7b397) and done **refresh_hfiles** successfully. I only see the first row in the table. > > ``` > hbase:024:0> scan 'andor' > ROW COLUMN+CELL > r1 column=cf1:, timestamp=2025-09-02T14:23:00.052, value=bela1 > 1 row(s) > ``` > > 4. Moved back the second HFile (ecd71932ecb44b639ede20b42bc7b397) and done **refresh_hfiles** again, but I can't see the second row no matter what I do. > > ``` > $ ls -al cf1/ > total 32 > drwxr-xr-x 4 andor staff 128 Sep 2 14:43 . > drwxr-xr-x 6 andor staff 192 Sep 2 14:23 .. > -rw-r--r-- 1 andor staff 4959 Sep 2 14:23 56eb73a0801c4c9c91164e74dfaecebe > -rw-r--r-- 1 andor staff 4959 Sep 2 14:42 ecd71932ecb44b639ede20b42bc7b397 > > hbase:025:0> refresh_hfiles > Took 0.0017 seconds > => 21 > hbase:026:0> scan 'andor' > ROW COLUMN+CELL > r1 column=cf1:, timestamp=2025-09-02T14:23:00.052, value=bela1 > 1 row(s) > Took 0.0023 seconds > ``` > > 5. Restarting HBase solves the problem, I can see the second row again. (After discussion and help from @wchevreuil we have arrived at the following conclusion) **TL;DR:** The above scenarios is an invalid test expectation and will never arise in the real world active and read-replica scenarios. The issue is coming because the Hfile name conflict when removing (marking it as compacted) and adding the same file (compacted file) back to the store. In case of active and read-replica the HFile names will always be unique hence the name conflict will never arise. **Detailed Explanation:** We can break the refreshHFiles in two parts: **Step1:** Detecting/Loading the newly added HFiles **Step2:** Making the newly added HFiles available for reading **Our Test scenario is:** 1. Create Table with two rows, execute flush after each insert so that we have two HFiles. 2. Move one HFile to another directory 3. RefreshHFiles 4. Move back the same file in 2 to CF (Column Family/store) directory 5. Again RefreshHFiles (Expected behavior is we should see the two rows that we have added in 1) In both 3 and 5 we detect that one file is deleted and one file is newly added respectively. But why the data is not available for reading post 5 is because behavior in 3. Let see details of what happen in 3, say there are two HFiles `hf1` and `hf2` and you removed `hf1`, when we execute refereshHfiles then we detect that `hf1` is gone so we removed it from our SFT structure but internally HBase does not remove it, it actually mark it as compacted file. This is done so that for the transaction coming before this refresh should have access to it and for transaction coming after this refresh should not have access. These marked compacted files will get clean up by background chores. Note that the in memory structure has marked the file (with file name `hf1`) as compacted so anything coming after this point will not be able to access it. In 5, **Step1** of refreshHfiles successfully determine that `hf1` has been added newly, but when we try to open it for reading (**Step2**), it is not allowed because `hf1` (same name) is marked as compacted. So refreshing Hfiles is not an issue but reading the file is. If we try changing the name of the file before copying back then it work properly. Hence, we can safely assume, this scenario will not arise in case of Active and Read replica as the HFile names will always be unique and will not have such conflicts. -- This is an
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2332362784 ## hbase-shell/src/main/ruby/shell/commands/refresh_hfiles.rb: ## @@ -0,0 +1,36 @@ +# +# 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 +# +# http://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. +# + +module Shell + module Commands +class RefreshHfiles < Command + def help +return <<-EOF +Refresh HFiles for the table. +For example: + + hbase> refresh_hfiles 'TABLENAME' + Review Comment: Added the detailed help documentation. -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2332247201 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesRegionProcedure.java: ## @@ -0,0 +1,198 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.Optional; +import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.hadoop.hbase.master.RegionState; +import org.apache.hadoop.hbase.master.assignment.RegionStateNode; +import org.apache.hadoop.hbase.master.assignment.RegionStates; +import org.apache.hadoop.hbase.procedure2.FailedRemoteDispatchException; +import org.apache.hadoop.hbase.procedure2.Procedure; +import org.apache.hadoop.hbase.procedure2.ProcedureEvent; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException; +import org.apache.hadoop.hbase.procedure2.ProcedureUtil; +import org.apache.hadoop.hbase.procedure2.ProcedureYieldException; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureException; +import org.apache.hadoop.hbase.regionserver.RefreshHFilesCallable; +import org.apache.hadoop.hbase.util.RetryCounter; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; +import org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos; + [email protected] +public class RefreshHFilesRegionProcedure extends Procedure + implements TableProcedureInterface, + RemoteProcedureDispatcher.RemoteProcedure { + private static final Logger LOG = LoggerFactory.getLogger(RefreshHFilesRegionProcedure.class); + private RegionInfo region; + private ProcedureEvent event; + private boolean dispatched; + private boolean succ; + private RetryCounter retryCounter; + + public RefreshHFilesRegionProcedure() { + } + + public RefreshHFilesRegionProcedure(RegionInfo region) { +this.region = region; + } + + @Override + protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData data = + serializer.deserialize(MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.class); +this.region = ProtobufUtil.toRegionInfo(data.getRegion()); + } + + @Override + protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.Builder builder = + MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.newBuilder(); +builder.setRegion(ProtobufUtil.toRegionInfo(region)); +serializer.serialize(builder.build()); + } + + @Override + protected boolean abort(MasterProcedureEnv env) { +return false; + } + + @Override + protected void rollback(MasterProcedureEnv env) throws IOException, InterruptedException { +throw new UnsupportedOperationException(); + } + + private void setTimeoutForSuspend(MasterProcedureEnv env, String reason) { +if (retryCounter == null) { + retryCounter = ProcedureUtil.createRetryCounter(env.getMasterConfiguration()); +} +long backoff = retryCounter.getBackoffTimeAndIncrementAttempts(); +LOG.warn("{} can not run currently because {}, wait {} ms to retry", this, reason, backoff); +setTimeout(Math.toIntExact(backoff)); +setState(ProcedureProtos.ProcedureState.WAITING_TIMEOUT); +skipPersistence(); + } + + @Override + protected Procedure[] execute(MasterProcedureEnv env) +throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException { +if (dispatched) { + if (succ) { +return null; + } + dispatched = false; +} + +RegionStates regionStates = env.getAssignmentManager().getRegionStates(); +
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
anmolnar commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3255498722
Let's try to investigate the cases with different store file tracker
implementations.
**1. DefaultStoreFileTracker**
```java
/**
* The default implementation for store file tracker, where we do not
persist the store file list,
* and use listing when loading store files.
*/
@InterfaceAudience.Private
class DefaultStoreFileTracker extends StoreFileTrackerBase {
```
So, in this case the refresh command should always get a list of all HFiles
in the CF directory and should be able to detect new HFiles automatically. Is
the correct?
**2. File based tracker**
```java
/**
* A file based store file tracker.
*
* For this tracking way, the store file list will be persistent into a
file, so we can write the
* new store files directly to the final data directory, as we will not load
the broken files. This
* will greatly reduce the time for flush and compaction on some object
storages as a rename is
* actual a copy on them. And it also avoid listing when loading store file
list, which could also
* speed up the loading of store files as listing is also not a fast
operation on most object
* storages.
*/
@InterfaceAudience.Private
class FileBasedStoreFileTracker extends StoreFileTrackerBase {
```
I think this is the case that you're talking about. In this case SFT might
be able or might not be able to detect new HFiles depending on whether the SFT
file has been updated or not. So, basically if I just copy a new file to the CF
directory, it won't be detected, because of the reasons you mentioned. But if
the new HFile was properly added by another cluster which is using the same SFT
implementation, the file must have been updated properly, so our cluster will
pick it up.
If all the above are true, do we need to add any additional logic to the
command?
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3254912049
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 39s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 4s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 13s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 4m 2s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 3m 48s | | HBASE-29081 passed |
| +1 :green_heart: | javadoc | 2m 22s | | HBASE-29081 passed |
| +1 :green_heart: | shadedjars | 7m 31s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 14s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 56s | | the patch passed |
| +1 :green_heart: | compile | 3m 43s | | the patch passed |
| +1 :green_heart: | javac | 3m 43s | | the patch passed |
| +1 :green_heart: | javadoc | 2m 17s | | the patch passed |
| +1 :green_heart: | shadedjars | 7m 17s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| +1 :green_heart: | unit | 0m 45s | | hbase-protocol-shaded in the
patch passed. |
| +1 :green_heart: | unit | 2m 15s | | hbase-client in the patch
passed. |
| -1 :x: | unit | 246m 17s |
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/15/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
| hbase-server in the patch failed. |
| +1 :green_heart: | unit | 6m 52s | | hbase-thrift in the patch
passed. |
| +1 :green_heart: | unit | 8m 21s | | hbase-shell in the patch
passed. |
| +1 :green_heart: | unit | 2m 32s | | hbase-examples in the patch
passed. |
| | | 308m 53s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/15/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux bfc05e5d3d9e 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / c25cc9a070ab240a406756413d33236e98a7a630 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/15/testReport/
|
| Max. process+thread count | 4761 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell hbase-examples U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/15/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
kgeisz commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2317553328 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesRegionProcedure.java: ## @@ -0,0 +1,198 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.Optional; +import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.hadoop.hbase.master.RegionState; +import org.apache.hadoop.hbase.master.assignment.RegionStateNode; +import org.apache.hadoop.hbase.master.assignment.RegionStates; +import org.apache.hadoop.hbase.procedure2.FailedRemoteDispatchException; +import org.apache.hadoop.hbase.procedure2.Procedure; +import org.apache.hadoop.hbase.procedure2.ProcedureEvent; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException; +import org.apache.hadoop.hbase.procedure2.ProcedureUtil; +import org.apache.hadoop.hbase.procedure2.ProcedureYieldException; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureException; +import org.apache.hadoop.hbase.regionserver.RefreshHFilesCallable; +import org.apache.hadoop.hbase.util.RetryCounter; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; +import org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos; + [email protected] +public class RefreshHFilesRegionProcedure extends Procedure + implements TableProcedureInterface, + RemoteProcedureDispatcher.RemoteProcedure { + private static final Logger LOG = LoggerFactory.getLogger(RefreshHFilesRegionProcedure.class); + private RegionInfo region; + private ProcedureEvent event; + private boolean dispatched; + private boolean succ; + private RetryCounter retryCounter; + + public RefreshHFilesRegionProcedure() { + } + + public RefreshHFilesRegionProcedure(RegionInfo region) { +this.region = region; + } + + @Override + protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData data = + serializer.deserialize(MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.class); +this.region = ProtobufUtil.toRegionInfo(data.getRegion()); + } + + @Override + protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.Builder builder = + MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.newBuilder(); +builder.setRegion(ProtobufUtil.toRegionInfo(region)); +serializer.serialize(builder.build()); + } + + @Override + protected boolean abort(MasterProcedureEnv env) { +return false; + } + + @Override + protected void rollback(MasterProcedureEnv env) throws IOException, InterruptedException { +throw new UnsupportedOperationException(); + } + + private void setTimeoutForSuspend(MasterProcedureEnv env, String reason) { +if (retryCounter == null) { + retryCounter = ProcedureUtil.createRetryCounter(env.getMasterConfiguration()); +} +long backoff = retryCounter.getBackoffTimeAndIncrementAttempts(); +LOG.warn("{} can not run currently because {}, wait {} ms to retry", this, reason, backoff); +setTimeout(Math.toIntExact(backoff)); +setState(ProcedureProtos.ProcedureState.WAITING_TIMEOUT); +skipPersistence(); + } + + @Override + protected Procedure[] execute(MasterProcedureEnv env) +throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException { +if (dispatched) { + if (succ) { +return null; + } + dispatched = false; +} + +RegionStates regionStates = env.getAssignmentManager().getRegionStates(); +
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3253908168
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 38s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 16s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 51s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 6m 30s | | HBASE-29081 passed |
| +1 :green_heart: | checkstyle | 2m 40s | | HBASE-29081 passed |
| +1 :green_heart: | spotbugs | 8m 9s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 1m 0s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 38s | | the patch passed |
| +1 :green_heart: | compile | 8m 5s | | the patch passed |
| +1 :green_heart: | cc | 8m 5s | | the patch passed |
| +1 :green_heart: | javac | 8m 5s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 20s |
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/15/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
| The patch fails to run checkstyle in hbase-server |
| -0 :warning: | rubocop | 0m 20s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/15/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 15 new + 445 unchanged - 0 fixed = 460 total (was 445)
|
| +1 :green_heart: | spotbugs | 8m 34s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 18m 32s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 3m 51s | | the patch passed |
| -1 :x: | spotless | 0m 33s | | patch has 21 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 1m 4s | | The patch does not
generate ASF License warnings. |
| | | 81m 25s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/15/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux a866a6f5d20e 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / c25cc9a070ab240a406756413d33236e98a7a630 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/15/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 86 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell hbase-examples U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/15/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
ragarkar commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2319227243 ## hbase-shell/src/main/ruby/shell/commands/refresh_hfiles.rb: ## @@ -0,0 +1,36 @@ +# +# 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 +# +# http://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. +# + +module Shell + module Commands +class RefreshHfiles < Command + def help +return <<-EOF +Refresh HFiles for the table. +For example: + + hbase> refresh_hfiles 'TABLENAME' + Review Comment: Please update the help message to reflect the correct syntax. -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
ragarkar commented on PR #7149: URL: https://github.com/apache/hbase/pull/7149#issuecomment-3249492510 Please update the help message indicating the correct usage: hbase:009:0> help 'refresh_hfiles' Refresh HFiles for the table. For example: hbase> refresh_hfiles 'TABLENAME' hbase:010:0> refresh_hfiles 'andor' ERROR: undefined method `fetch' for "andor":String For usage try 'help "refresh_hfiles"' Took 0.0234 seconds The "help 'refresh_hfiles'" command does not reflect the correct syntax and we need to fix it. -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3245680848
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 30s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 10s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 11s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 5m 51s | | HBASE-29081 passed |
| +1 :green_heart: | checkstyle | 1m 39s | | HBASE-29081 passed |
| +1 :green_heart: | spotbugs | 5m 52s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 0m 51s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 2m 59s | | the patch passed |
| +1 :green_heart: | compile | 5m 48s | | the patch passed |
| +1 :green_heart: | cc | 5m 48s | | the patch passed |
| +1 :green_heart: | javac | 5m 48s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 15s |
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/14/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
| The patch fails to run checkstyle in hbase-server |
| -0 :warning: | rubocop | 0m 10s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/14/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 15 new + 445 unchanged - 0 fixed = 460 total (was 445)
|
| +1 :green_heart: | spotbugs | 6m 23s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 11m 36s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 2m 10s | | the patch passed |
| -1 :x: | spotless | 0m 20s | | patch has 21 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 46s | | The patch does not
generate ASF License warnings. |
| | | 57m 59s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/14/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux d8ae5e429d2b 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / 329205ad7962f15647539ec5d93f4cbbb8ed565c |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/14/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 85 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/14/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
anmolnar commented on PR #7149: URL: https://github.com/apache/hbase/pull/7149#issuecomment-3246593953 Tested with the following steps: 1. Create new table 'andor' and added a row and flushed ``` hbase:002:0> create 'andor', 'cf1' Created table andor Took 0.6623 seconds => Hbase::Table - andor hbase:005:0> put 'andor', 'r1', 'cf1', 'bela1' Took 0.0099 seconds hbase:007:0> flush 'andor' Took 0.3376 seconds $ ls -al cf1/ total 16 drwxr-xr-x 3 andor staff96 Sep 2 14:42 . drwxr-xr-x 6 andor staff 192 Sep 2 14:23 .. -rw-r--r-- 1 andor staff 4959 Sep 2 14:23 56eb73a0801c4c9c91164e74dfaecebe ``` 2. Added another row and flushed again ``` $ ls -al cf1/ total 32 drwxr-xr-x 4 andor staff 128 Sep 2 14:43 . drwxr-xr-x 6 andor staff 192 Sep 2 14:23 .. -rw-r--r-- 1 andor staff 4959 Sep 2 14:23 56eb73a0801c4c9c91164e74dfaecebe -rw-r--r-- 1 andor staff 4959 Sep 2 14:42 ecd71932ecb44b639ede20b42bc7b397 ``` 3. Moved away the second HFile (ecd71932ecb44b639ede20b42bc7b397) and done **refresh_hfiles** successfully. I only see the first row in the table. ``` hbase:024:0> scan 'andor' ROW COLUMN+CELL r1 column=cf1:, timestamp=2025-09-02T14:23:00.052, value=bela1 1 row(s) ``` 4. Moved back the second HFile (ecd71932ecb44b639ede20b42bc7b397) and done **refresh_hfiles** again, but I can't see the second row no matter what I do. ``` $ ls -al cf1/ total 32 drwxr-xr-x 4 andor staff 128 Sep 2 14:43 . drwxr-xr-x 6 andor staff 192 Sep 2 14:23 .. -rw-r--r-- 1 andor staff 4959 Sep 2 14:23 56eb73a0801c4c9c91164e74dfaecebe -rw-r--r-- 1 andor staff 4959 Sep 2 14:42 ecd71932ecb44b639ede20b42bc7b397 hbase:025:0> refresh_hfiles Took 0.0017 seconds => 21 hbase:026:0> scan 'andor' ROW COLUMN+CELL r1 column=cf1:, timestamp=2025-09-02T14:23:00.052, value=bela1 1 row(s) Took 0.0023 seconds ``` -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3246412184
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 37s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 3s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 38s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 41s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 2m 36s | | HBASE-29081 passed |
| +1 :green_heart: | javadoc | 1m 37s | | HBASE-29081 passed |
| +1 :green_heart: | shadedjars | 6m 10s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 13s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 10s | | the patch passed |
| +1 :green_heart: | compile | 2m 36s | | the patch passed |
| +1 :green_heart: | javac | 2m 36s | | the patch passed |
| +1 :green_heart: | javadoc | 1m 34s | | the patch passed |
| +1 :green_heart: | shadedjars | 6m 5s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| +1 :green_heart: | unit | 0m 34s | | hbase-protocol-shaded in the
patch passed. |
| +1 :green_heart: | unit | 1m 39s | | hbase-client in the patch
passed. |
| -1 :x: | unit | 236m 15s |
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/14/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
| hbase-server in the patch failed. |
| +1 :green_heart: | unit | 7m 45s | | hbase-thrift in the patch
passed. |
| +1 :green_heart: | unit | 8m 13s | | hbase-shell in the patch
passed. |
| | | 289m 9s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/14/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 4cf583fcffe3 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / 329205ad7962f15647539ec5d93f4cbbb8ed565c |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/14/testReport/
|
| Max. process+thread count | 4814 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/14/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
wchevreuil commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2316232114 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesTableProcedure.java: ## @@ -0,0 +1,173 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.List; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.TableDescriptor; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshHFilesTableProcedureState; + [email protected] +public class RefreshHFilesTableProcedure + extends AbstractStateMachineTableProcedure { + private static final Logger LOG = LoggerFactory.getLogger(RefreshHFilesTableProcedure.class); + + private TableName tableName; + private String namespaceName; + + public RefreshHFilesTableProcedure() { +super(); + } + + public RefreshHFilesTableProcedure(MasterProcedureEnv env) { +super(env); + } + + public RefreshHFilesTableProcedure(MasterProcedureEnv env, TableName tableName) { +super(env); +this.tableName = tableName; + } + + public RefreshHFilesTableProcedure(MasterProcedureEnv env, String namespaceName) { +super(env); +this.namespaceName = namespaceName; + } + + @Override + public TableOperationType getTableOperationType() { +return TableOperationType.REFRESH_HFILES; + } + + @Override + protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException { +super.serializeStateData(serializer); +MasterProcedureProtos.RefreshHFilesTableProcedureStateData.Builder builder = + MasterProcedureProtos.RefreshHFilesTableProcedureStateData.newBuilder(); +if (tableName != null && namespaceName == null) { + builder.setTableName(ProtobufUtil.toProtoTableName(tableName)); +} else if (tableName == null && namespaceName != null) { + builder.setNamespaceName(namespaceName); +} +serializer.serialize(builder.build()); + } + + @Override + protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { +super.deserializeStateData(serializer); +MasterProcedureProtos.RefreshHFilesTableProcedureStateData data = + serializer.deserialize(MasterProcedureProtos.RefreshHFilesTableProcedureStateData.class); +if (data.hasTableName() && !data.hasNamespaceName()) { + this.tableName = ProtobufUtil.toTableName(data.getTableName()); +} else if (!data.hasTableName() && data.hasNamespaceName()) { + this.namespaceName = data.getNamespaceName(); +} + } + + @Override + public TableName getTableName() { +if (tableName != null && namespaceName == null) { + return tableName; +} +return DUMMY_NAMESPACE_TABLE_NAME; + } + + @Override + protected RefreshHFilesTableProcedureState getInitialState() { +return RefreshHFilesTableProcedureState.REFRESH_HFILES_PREPARE; + } + + @Override + protected int getStateId(RefreshHFilesTableProcedureState state) { +return state.getNumber(); + } + + @Override + protected RefreshHFilesTableProcedureState getState(int stateId) { +return RefreshHFilesTableProcedureState.forNumber(stateId); + } + + @Override + protected void rollbackState(MasterProcedureEnv env, RefreshHFilesTableProcedureState state) +throws IOException, InterruptedException { +// Refresh HFiles is idempotent operation hence rollback is not needed +LOG.trace("Rollback not implemented for RefreshHFilesTableProcedure state: {}", state); + } + + @Override + protected Flow executeFromState(MasterProcedureEnv env, RefreshHFilesTableProcedureState state) { +LOG.info("Executing RefreshHFilesTableProcedureState state: {}", state); + +try { + return switch (state) { +case
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on PR #7149: URL: https://github.com/apache/hbase/pull/7149#issuecomment-3245828917 > So if active cluster splits a region, and daughters get compacted before refresh_meta is called, we may have the region removed by catalog janitor running in active cluster. In this case, read replica cluster would get FNFE when trying to read the removed region. I guess that's documented? We will be documenting following: - The Switch Over from active to read should strictly follow: Make Active cluster Read-only > Flush on Active > Refresh_Meta on read replica > refresh_hfiles on read replica - There may be inconsistencies between active and read-replica cluster until the switch over completely happens As per the discussion over the call, we may need to see the feasibility of disabling the catalog janitor or making it aware of read-replica cluster is there, to avoid removal of any Hfiles. I will do bit of investigation and lets discuss this with wider audience in the next sync up. -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2307682598
##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java:
##
@@ -4543,4 +4544,61 @@ protected String getDescription() {
}
});
}
+
+ public Long refreshHfiles(final TableName tableName, final long nonceGroup,
final long nonce)
+throws IOException {
+// TODO Check if table exists otherwise send exception.
+// return 121L;
Review Comment:
Done.
##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesRegionProcedure.java:
##
@@ -0,0 +1,132 @@
+/*
+ * 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
+ *
+ * http://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.hadoop.hbase.master.procedure;
+
+import java.io.IOException;
+import java.util.Optional;
+import org.apache.hadoop.hbase.ServerName;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.master.assignment.RegionStateNode;
+import org.apache.hadoop.hbase.master.assignment.RegionStates;
+import org.apache.hadoop.hbase.procedure2.FailedRemoteDispatchException;
+import org.apache.hadoop.hbase.procedure2.Procedure;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;
+import org.apache.hadoop.hbase.procedure2.ProcedureYieldException;
+import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher;
+import org.apache.hadoop.hbase.procedure2.RemoteProcedureException;
+import org.apache.hadoop.hbase.regionserver.RefreshHFilesCallable;
+import org.apache.yetus.audience.InterfaceAudience;
+
+import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
+import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos;
+
[email protected]
+public class RefreshHFilesRegionProcedure extends Procedure
+ implements TableProcedureInterface,
+ RemoteProcedureDispatcher.RemoteProcedure {
+ private RegionInfo region;
+
+ public RefreshHFilesRegionProcedure() {
+ }
+
+ public RefreshHFilesRegionProcedure(RegionInfo region) {
+this.region = region;
+ }
+
+ @Override
+ protected void deserializeStateData(ProcedureStateSerializer serializer)
throws IOException {
+MasterProcedureProtos.RefreshHFilesRegionProcedureStateData data =
+
serializer.deserialize(MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.class);
+this.region = ProtobufUtil.toRegionInfo(data.getRegion());
+// TODO Get the Data from region server
+ }
+
+ @Override
+ protected void serializeStateData(ProcedureStateSerializer serializer)
throws IOException {
+MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.Builder
builder =
+ MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.newBuilder();
+builder.setRegion(ProtobufUtil.toRegionInfo(region));
+// TODO add data that you want to pass to region server
Review Comment:
Done.
##
hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java:
##
@@ -4557,4 +4559,49 @@ List> adminCall(controller, stub,
request.build(),
resp -> resp.getCachedFilesList()))
.serverName(serverName).call();
}
+
+ @Override
+ public CompletableFuture refreshHFiles(final TableName tableName) {
+// Request builder
+RefreshHFilesRequest.Builder request = RefreshHFilesRequest.newBuilder();
+request.setTableName(ProtobufUtil.toProtoTableName(tableName));
Review Comment:
Yes. What @anmolnar said is correct if user want to refresh hfiles for a
table under specific namespace he will use command like `refresh_hfiles
"TABLE_NAME" => "test_ns:test"`, when no namespace is prefixed then default is
assumed.
##
hbase-protocol-shaded/src/main/protobuf/server/master/MasterProcedure.proto:
##
@@ -821,3 +821,20 @@ enum CloseTableRegionsProcedureState {
message CloseTableRegionsProcedureStateData {
required TableName table_name = 1;
}
+
+enum RefreshHFilesTableProcedureState {
+ REFRESH_HFILES_PREPARE = 1;
+ REFRESH_HFILES_REFRESH_REGION = 2;
+ REFRESH_HFILES_FINISH = 3;
+}
+
+message
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3235407846
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 34s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 3s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 10s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 16s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 2m 37s | | HBASE-29081 passed |
| +1 :green_heart: | javadoc | 1m 37s | | HBASE-29081 passed |
| +1 :green_heart: | shadedjars | 6m 12s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 13s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 10s | | the patch passed |
| +1 :green_heart: | compile | 2m 37s | | the patch passed |
| +1 :green_heart: | javac | 2m 37s | | the patch passed |
| +1 :green_heart: | javadoc | 1m 36s | | the patch passed |
| +1 :green_heart: | shadedjars | 6m 7s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| +1 :green_heart: | unit | 0m 34s | | hbase-protocol-shaded in the
patch passed. |
| +1 :green_heart: | unit | 1m 38s | | hbase-client in the patch
passed. |
| -1 :x: | unit | 237m 14s |
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/13/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
| hbase-server in the patch failed. |
| +1 :green_heart: | unit | 7m 40s | | hbase-thrift in the patch
passed. |
| +1 :green_heart: | unit | 8m 10s | | hbase-shell in the patch
passed. |
| | | 288m 35s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/13/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 07b7692a0aad 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / c5800671052070d01b977553ea3b7a33fa30aa24 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/13/testReport/
|
| Max. process+thread count | 5907 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/13/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3234998373
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 29s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 3s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 5m 39s | | HBASE-29081 passed |
| +1 :green_heart: | checkstyle | 1m 36s | | HBASE-29081 passed |
| +1 :green_heart: | spotbugs | 5m 41s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 0m 46s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 10s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 6s | | the patch passed |
| +1 :green_heart: | compile | 5m 38s | | the patch passed |
| +1 :green_heart: | cc | 5m 38s | | the patch passed |
| +1 :green_heart: | javac | 5m 38s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 14s |
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/13/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
| The patch fails to run checkstyle in hbase-server |
| -0 :warning: | rubocop | 0m 8s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/13/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 15 new + 445 unchanged - 0 fixed = 460 total (was 445)
|
| +1 :green_heart: | spotbugs | 6m 16s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 11m 54s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 2m 10s | | the patch passed |
| -1 :x: | spotless | 0m 20s | | patch has 21 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 42s | | The patch does not
generate ASF License warnings. |
| | | 57m 29s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/13/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux b8950759d378 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / c5800671052070d01b977553ea3b7a33fa30aa24 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/13/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 86 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/13/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on PR #7149: URL: https://github.com/apache/hbase/pull/7149#issuecomment-3233852684 > This mostly LGTM so far. I left some comments. Also, I see this is still a draft, so there are probably more changes incoming anyway. > > One question I have is what if a table has the same name in two different namespaces? I see method signatures for `refreshHfiles()` that are: > > ``` > refreshHFiles(final TableName tableName) > refreshHFiles(final String namespace) > refreshHFiles() > ``` > > Will the user ever need something like the following? > > ``` > refreshHFiles(final String namespace, TableName tableName) > ``` Actually we are not allowing user to pass both namespace and tableName together as parameter. We will send exception in case user calls `refresh_hfiles "NAMESPACE" => "test_ns", "TABLE_NAME" => "test"` , this is handled in ruby script in newer commit. -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3233151369
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 32s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 40s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 32s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 7m 22s | | HBASE-29081 passed |
| +1 :green_heart: | checkstyle | 2m 2s | | HBASE-29081 passed |
| +1 :green_heart: | spotbugs | 6m 51s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 0m 59s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 26s | | the patch passed |
| +1 :green_heart: | compile | 6m 18s | | the patch passed |
| +1 :green_heart: | cc | 6m 18s | | the patch passed |
| +1 :green_heart: | javac | 6m 18s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 19s |
[/results-checkstyle-hbase-client.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/12/artifact/yetus-general-check/output/results-checkstyle-hbase-client.txt)
| hbase-client: The patch generated 3 new + 3 unchanged - 0 fixed = 6 total
(was 3) |
| -0 :warning: | checkstyle | 0m 17s |
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/12/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
| The patch fails to run checkstyle in hbase-server |
| -0 :warning: | rubocop | 0m 20s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/12/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 6 new + 445 unchanged - 0 fixed = 451 total (was 445) |
| +1 :green_heart: | spotbugs | 8m 55s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 13m 13s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 2m 10s | | the patch passed |
| -1 :x: | spotless | 0m 19s | | patch has 42 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 42s | | The patch does not
generate ASF License warnings. |
| | | 67m 55s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/12/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux 88580b3214a1 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / b541649ec08c2b77d300e386243a6068564fac5d |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/12/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 85 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/12/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
anmolnar commented on PR #7149: URL: https://github.com/apache/hbase/pull/7149#issuecomment-3214924911 @sharmaar12 Please fix spotless and unit test errors. -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3212770524
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 11m 2s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 3s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 35s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 7m 14s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 2m 49s | | HBASE-29081 passed |
| +1 :green_heart: | javadoc | 2m 6s | | HBASE-29081 passed |
| +1 :green_heart: | shadedjars | 7m 45s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 14s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 4m 44s | | the patch passed |
| +1 :green_heart: | compile | 3m 17s | | the patch passed |
| +1 :green_heart: | javac | 3m 17s | | the patch passed |
| +1 :green_heart: | javadoc | 2m 11s | | the patch passed |
| +1 :green_heart: | shadedjars | 6m 49s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| +1 :green_heart: | unit | 0m 43s | | hbase-protocol-shaded in the
patch passed. |
| +1 :green_heart: | unit | 1m 58s | | hbase-client in the patch
passed. |
| -1 :x: | unit | 265m 45s |
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/11/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
| hbase-server in the patch failed. |
| +1 :green_heart: | unit | 6m 53s | | hbase-thrift in the patch
passed. |
| +1 :green_heart: | unit | 7m 50s | | hbase-shell in the patch
passed. |
| | | 338m 27s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/11/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 49419b6f6242 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / 08a8b36ffba102acbb2ff2ed3a85ef3628639377 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/11/testReport/
|
| Max. process+thread count | 4781 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/11/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3212125835
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 39s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 14s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 4m 59s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 8m 25s | | HBASE-29081 passed |
| +1 :green_heart: | checkstyle | 2m 0s | | HBASE-29081 passed |
| +1 :green_heart: | spotbugs | 7m 18s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 1m 3s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 36s | | the patch passed |
| +1 :green_heart: | compile | 5m 56s | | the patch passed |
| +1 :green_heart: | cc | 5m 56s | | the patch passed |
| +1 :green_heart: | javac | 5m 56s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 13s |
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/11/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
| The patch fails to run checkstyle in hbase-server |
| -0 :warning: | rubocop | 0m 21s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/11/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 6 new + 445 unchanged - 0 fixed = 451 total (was 445) |
| +1 :green_heart: | spotbugs | 6m 26s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 12m 15s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 2m 9s | | the patch passed |
| -1 :x: | spotless | 0m 22s | | patch has 21 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 44s | | The patch does not
generate ASF License warnings. |
| | | 66m 39s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/11/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux 1f5efecbe62b 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / 08a8b36ffba102acbb2ff2ed3a85ef3628639377 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/11/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 86 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/11/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3211935572
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 45s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 3s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 4m 59s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 4m 13s | | HBASE-29081 passed |
| +1 :green_heart: | javadoc | 2m 27s | | HBASE-29081 passed |
| +1 :green_heart: | shadedjars | 7m 14s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 18s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 4m 30s | | the patch passed |
| +1 :green_heart: | compile | 4m 2s | | the patch passed |
| +1 :green_heart: | javac | 4m 2s | | the patch passed |
| +1 :green_heart: | javadoc | 2m 42s | | the patch passed |
| +1 :green_heart: | shadedjars | 8m 0s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| +1 :green_heart: | unit | 0m 59s | | hbase-protocol-shaded in the
patch passed. |
| +1 :green_heart: | unit | 2m 33s | | hbase-client in the patch
passed. |
| -1 :x: | unit | 404m 37s |
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/10/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
| hbase-server in the patch failed. |
| +1 :green_heart: | unit | 44m 38s | | hbase-thrift in the patch
passed. |
| +1 :green_heart: | unit | 14m 57s | | hbase-shell in the patch
passed. |
| | | 523m 20s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/10/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 7611ec1996f9 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / a2c765ee4d0c0d47519db2a4fabac18761736ed6 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/10/testReport/
|
| Max. process+thread count | 4485 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/10/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3210472209
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 34s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 43s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 5m 36s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 9m 21s | | HBASE-29081 passed |
| +1 :green_heart: | checkstyle | 2m 33s | | HBASE-29081 passed |
| +1 :green_heart: | spotbugs | 8m 44s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 1m 22s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 14s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 4m 16s | | the patch passed |
| +1 :green_heart: | compile | 7m 13s | | the patch passed |
| +1 :green_heart: | cc | 7m 13s | | the patch passed |
| +1 :green_heart: | javac | 7m 13s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 20s |
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/10/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
| The patch fails to run checkstyle in hbase-server |
| -0 :warning: | rubocop | 0m 23s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/10/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 6 new + 445 unchanged - 0 fixed = 451 total (was 445) |
| +1 :green_heart: | spotbugs | 9m 1s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 16m 10s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 3m 14s | | the patch passed |
| -1 :x: | spotless | 0m 36s | | patch has 21 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 1m 0s | | The patch does not
generate ASF License warnings. |
| | | 83m 52s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/10/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux ba7354b42270 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / a2c765ee4d0c0d47519db2a4fabac18761736ed6 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/10/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 87 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/10/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on PR #7149: URL: https://github.com/apache/hbase/pull/7149#issuecomment-3210227853 > Please add a detailed description on the jira and in the PR explaining what is the goal here and why we need this. Done that in upstream ticket. https://issues.apache.org/jira/browse/HBASE-29328 -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3190577276
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 2m 30s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 3s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 9s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 22s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 2m 48s | | HBASE-29081 passed |
| +1 :green_heart: | javadoc | 1m 38s | | HBASE-29081 passed |
| +1 :green_heart: | shadedjars | 6m 3s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 21s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 8s | | the patch passed |
| +1 :green_heart: | compile | 2m 33s | | the patch passed |
| +1 :green_heart: | javac | 2m 33s | | the patch passed |
| +1 :green_heart: | javadoc | 1m 34s | | the patch passed |
| +1 :green_heart: | shadedjars | 5m 59s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| +1 :green_heart: | unit | 0m 33s | | hbase-protocol-shaded in the
patch passed. |
| +1 :green_heart: | unit | 1m 36s | | hbase-client in the patch
passed. |
| -1 :x: | unit | 237m 54s |
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/8/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
| hbase-server in the patch failed. |
| +1 :green_heart: | unit | 6m 47s | | hbase-thrift in the patch
passed. |
| +1 :green_heart: | unit | 7m 43s | | hbase-shell in the patch
passed. |
| | | 289m 25s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/8/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 81d3b006a42d 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / 4b72e120908ee8bc1a72720d84066d4c5f661b9a |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/8/testReport/
|
| Max. process+thread count | 5441 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/8/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3190292332
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 33s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 5s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 5m 26s | | HBASE-29081 passed |
| +1 :green_heart: | checkstyle | 1m 36s | | HBASE-29081 passed |
| +1 :green_heart: | spotbugs | 5m 44s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 0m 44s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 20s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 0s | | the patch passed |
| +1 :green_heart: | compile | 5m 29s | | the patch passed |
| +1 :green_heart: | cc | 5m 29s | | the patch passed |
| +1 :green_heart: | javac | 5m 29s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 13s |
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/8/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
| The patch fails to run checkstyle in hbase-server |
| -0 :warning: | rubocop | 0m 9s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/8/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 6 new + 444 unchanged - 0 fixed = 450 total (was 444) |
| +1 :green_heart: | spotbugs | 6m 15s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 11m 59s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 2m 7s | | the patch passed |
| -1 :x: | spotless | 0m 20s | | patch has 21 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 42s | | The patch does not
generate ASF License warnings. |
| | | 57m 15s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/8/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux 24bfa01a3c03 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / 4b72e120908ee8bc1a72720d84066d4c5f661b9a |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/8/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 86 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/8/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3190203306
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 38s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 3s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 19s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 2m 34s | | HBASE-29081 passed |
| +1 :green_heart: | javadoc | 1m 35s | | HBASE-29081 passed |
| +1 :green_heart: | shadedjars | 7m 2s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 16s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 4m 33s | | the patch passed |
| +1 :green_heart: | compile | 3m 7s | | the patch passed |
| +1 :green_heart: | javac | 3m 7s | | the patch passed |
| +1 :green_heart: | javadoc | 1m 51s | | the patch passed |
| +1 :green_heart: | shadedjars | 7m 8s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| +1 :green_heart: | unit | 0m 51s | | hbase-protocol-shaded in the
patch passed. |
| +1 :green_heart: | unit | 2m 50s | | hbase-client in the patch
passed. |
| -1 :x: | unit | 440m 21s |
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/7/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
| hbase-server in the patch failed. |
| -1 :x: | unit | 24m 40s |
[/patch-unit-hbase-thrift.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/7/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-thrift.txt)
| hbase-thrift in the patch failed. |
| +1 :green_heart: | unit | 12m 50s | | hbase-shell in the patch
passed. |
| | | 531m 46s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/7/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 2387526aafed 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / bcf08cc28deb66e91af64191146fc8d782de3f7f |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/7/testReport/
|
| Max. process+thread count | 4448 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/7/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3188928172
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 34s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 40s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 31s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 5m 26s | | HBASE-29081 passed |
| +1 :green_heart: | checkstyle | 1m 37s | | HBASE-29081 passed |
| +1 :green_heart: | spotbugs | 5m 49s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 0m 46s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 2s | | the patch passed |
| +1 :green_heart: | compile | 5m 26s | | the patch passed |
| +1 :green_heart: | cc | 5m 26s | | the patch passed |
| +1 :green_heart: | javac | 5m 26s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 14s |
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/7/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
| The patch fails to run checkstyle in hbase-server |
| -0 :warning: | rubocop | 0m 8s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/7/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 6 new + 444 unchanged - 0 fixed = 450 total (was 444) |
| +1 :green_heart: | spotbugs | 6m 13s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 12m 3s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 2m 8s | | the patch passed |
| -1 :x: | spotless | 0m 21s | | patch has 21 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 43s | | The patch does not
generate ASF License warnings. |
| | | 58m 12s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/7/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux 887be7758600 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / bcf08cc28deb66e91af64191146fc8d782de3f7f |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/7/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 86 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/7/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2260343570
##
hbase-protocol-shaded/src/main/protobuf/server/master/MasterProcedure.proto:
##
@@ -821,3 +821,20 @@ enum CloseTableRegionsProcedureState {
message CloseTableRegionsProcedureStateData {
required TableName table_name = 1;
}
+
+enum RefreshHFilesTableProcedureState {
+ REFRESH_HFILES_PREPARE = 1;
+ REFRESH_HFILES_REFRESH_REGION = 2;
+ REFRESH_HFILES_FINISH = 3;
+}
+
+message RefreshHFilesTableProcedureStateData {
+}
Review Comment:
I think you are right. We do need to store the table name here in case the
restart is needed. I will add code accordingly.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2260343570
##
hbase-protocol-shaded/src/main/protobuf/server/master/MasterProcedure.proto:
##
@@ -821,3 +821,20 @@ enum CloseTableRegionsProcedureState {
message CloseTableRegionsProcedureStateData {
required TableName table_name = 1;
}
+
+enum RefreshHFilesTableProcedureState {
+ REFRESH_HFILES_PREPARE = 1;
+ REFRESH_HFILES_REFRESH_REGION = 2;
+ REFRESH_HFILES_FINISH = 3;
+}
+
+message RefreshHFilesTableProcedureStateData {
+}
Review Comment:
Can you clarify this a bit more?
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2260341800 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesRegionProcedure.java: ## @@ -0,0 +1,132 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.Optional; +import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.hadoop.hbase.master.assignment.RegionStateNode; +import org.apache.hadoop.hbase.master.assignment.RegionStates; +import org.apache.hadoop.hbase.procedure2.FailedRemoteDispatchException; +import org.apache.hadoop.hbase.procedure2.Procedure; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException; +import org.apache.hadoop.hbase.procedure2.ProcedureYieldException; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureException; +import org.apache.hadoop.hbase.regionserver.RefreshHFilesCallable; +import org.apache.yetus.audience.InterfaceAudience; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; + [email protected] +public class RefreshHFilesRegionProcedure extends Procedure + implements TableProcedureInterface, + RemoteProcedureDispatcher.RemoteProcedure { + private RegionInfo region; + + public RefreshHFilesRegionProcedure() { + } + + public RefreshHFilesRegionProcedure(RegionInfo region) { +this.region = region; + } + + @Override + protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData data = + serializer.deserialize(MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.class); +this.region = ProtobufUtil.toRegionInfo(data.getRegion()); +// TODO Get the Data from region server + } + + @Override + protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.Builder builder = + MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.newBuilder(); +builder.setRegion(ProtobufUtil.toRegionInfo(region)); +// TODO add data that you want to pass to region server +serializer.serialize(builder.build()); + } + + @Override + protected boolean abort(MasterProcedureEnv env) { +return false; + } + + @Override + protected void rollback(MasterProcedureEnv env) throws IOException, InterruptedException { +throw new UnsupportedOperationException(); + } + + @Override + protected Procedure[] execute(MasterProcedureEnv env) +throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException { +RegionStates regionStates = env.getAssignmentManager().getRegionStates(); +RegionStateNode regionNode = regionStates.getRegionStateNode(region); Review Comment: Split regions are not possible as readonly cluster is not serving any write so it can't lead to region splits. However if region split happens in active cluster then it will get communicated to read only cluster post execution of refresh_meta command (Also mentioned in design doc). For offline regions, I will be adding code to retry that execution again. -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
anmolnar commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2255377866
##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java:
##
@@ -3661,4 +3661,28 @@ public FlushTableResponse flushTable(RpcController
controller, FlushTableRequest
throw new ServiceException(ioe);
}
}
+
+ @Override
+ public MasterProtos.RefreshHFilesResponse refreshHFiles(RpcController
controller,
+MasterProtos.RefreshHFilesRequest request) throws ServiceException {
+// TODO Check if table exists otherwise send exception.
Review Comment:
I agree. Since the PR is still in Draft mode, I guess these TODOs will be
addressed in later commits.
##
hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java:
##
@@ -4557,4 +4559,49 @@ List> adminCall(controller, stub,
request.build(),
resp -> resp.getCachedFilesList()))
.serverName(serverName).call();
}
+
+ @Override
+ public CompletableFuture refreshHFiles(final TableName tableName) {
+// Request builder
+RefreshHFilesRequest.Builder request = RefreshHFilesRequest.newBuilder();
+request.setTableName(ProtobufUtil.toProtoTableName(tableName));
Review Comment:
I think in case of a standard TableName it could be either a table name
without namespace prefix, meaning a table in the default namespace or a table
name with the namespace prefix. I guess it's handled later in the code.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3140856854
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 32s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 3s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 10s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 16s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 2m 36s | | HBASE-29081 passed |
| +1 :green_heart: | javadoc | 1m 34s | | HBASE-29081 passed |
| +1 :green_heart: | shadedjars | 5m 58s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 14s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 4s | | the patch passed |
| +1 :green_heart: | compile | 2m 33s | | the patch passed |
| +1 :green_heart: | javac | 2m 33s | | the patch passed |
| +1 :green_heart: | javadoc | 1m 35s | | the patch passed |
| +1 :green_heart: | shadedjars | 5m 55s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| +1 :green_heart: | unit | 0m 33s | | hbase-protocol-shaded in the
patch passed. |
| +1 :green_heart: | unit | 1m 36s | | hbase-client in the patch
passed. |
| -1 :x: | unit | 230m 15s |
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/6/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
| hbase-server in the patch failed. |
| +1 :green_heart: | unit | 6m 50s | | hbase-thrift in the patch
passed. |
| +1 :green_heart: | unit | 7m 49s | | hbase-shell in the patch
passed. |
| | | 279m 55s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/6/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux e6b0f97347f5 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / b0bb31b02417606eefe194972ea3e8dbc93d0019 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/6/testReport/
|
| Max. process+thread count | 5895 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/6/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3140124418
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 39s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 10s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 9s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 5m 29s | | HBASE-29081 passed |
| +1 :green_heart: | checkstyle | 1m 37s | | HBASE-29081 passed |
| +1 :green_heart: | spotbugs | 5m 48s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 0m 46s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 2m 55s | | the patch passed |
| +1 :green_heart: | compile | 5m 31s | | the patch passed |
| +1 :green_heart: | cc | 5m 31s | | the patch passed |
| +1 :green_heart: | javac | 5m 31s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 13s |
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/6/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
| The patch fails to run checkstyle in hbase-server |
| -0 :warning: | rubocop | 0m 19s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/6/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 6 new + 444 unchanged - 0 fixed = 450 total (was 444) |
| +1 :green_heart: | spotbugs | 6m 19s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 11m 32s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 2m 6s | | the patch passed |
| -1 :x: | spotless | 0m 21s | | patch has 21 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 42s | | The patch does not
generate ASF License warnings. |
| | | 57m 0s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/6/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux 56bf399a1f02 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / b0bb31b02417606eefe194972ea3e8dbc93d0019 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/6/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 87 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/6/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2245364397
##
hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java:
##
@@ -4557,4 +4559,49 @@ List> adminCall(controller, stub,
request.build(),
resp -> resp.getCachedFilesList()))
.serverName(serverName).call();
}
+
+ @Override
+ public CompletableFuture refreshHFiles(final TableName tableName) {
+// Request builder
+RefreshHFilesRequest.Builder request = RefreshHFilesRequest.newBuilder();
+request.setTableName(ProtobufUtil.toProtoTableName(tableName));
+// Set nonce
+// Master Caller
+return this. newMasterCaller()
+ .action((controller, stub) -> this. call(
+controller, stub, request.build(),
MasterService.Interface::refreshHFiles,
+RefreshHFilesResponse::getProcId))
+ .call();
Review Comment:
Done. Thanks for pointing it out.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2244757406
##
hbase-protocol-shaded/src/main/protobuf/server/master/Master.proto:
##
@@ -796,6 +796,17 @@ message ModifyColumnStoreFileTrackerResponse {
optional uint64 proc_id = 1;
}
+message RefreshHFilesRequest {
+ optional TableName table_Name = 1;
Review Comment:
Done.
##
hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java:
##
@@ -2651,4 +2651,24 @@ List getLogEntries(Set
serverNames, String logType, Server
* Get the list of cached files
*/
List getCachedFilesList(ServerName serverName) throws IOException;
+
+ /**
+ * Refresh HFiles for the table
+ * @param tableName table to refresh HFiles for
Review Comment:
Done.
##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java:
##
@@ -4543,4 +4544,61 @@ protected String getDescription() {
}
});
}
+
+ public Long refreshHfiles(final TableName tableName, final long nonceGroup,
final long nonce)
+throws IOException {
+// TODO Check if table exists otherwise send exception.
+// return 121L;
+return MasterProcedureUtil
+ .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this,
nonceGroup, nonce) {
+@Override
+protected void run() throws IOException {
+ LOG.info("Submitting RefreshHfilesTableProcedure for a table");
+ submitProcedure(
+new
RefreshHFilesTableProcedure(procedureExecutor.getEnvironment(), tableName));
+}
+
+@Override
+protected String getDescription() {
+ return "RefreshHfilesProcedure for a table";
+}
+ });
+ }
+
+ public Long refreshHfiles(final String namespace, final long nonceGroup,
final long nonce)
+throws IOException {
+// TODO Check if namespace exists otherwise send exception.
+// return 122L;
+return MasterProcedureUtil
+ .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this,
nonceGroup, nonce) {
+@Override
+protected void run() throws IOException {
+ LOG.info("Submitting RefreshHfilesProcedure for namespace");
Review Comment:
Done.
##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java:
##
@@ -4543,4 +4544,61 @@ protected String getDescription() {
}
});
}
+
+ public Long refreshHfiles(final TableName tableName, final long nonceGroup,
final long nonce)
+throws IOException {
+// TODO Check if table exists otherwise send exception.
+// return 121L;
+return MasterProcedureUtil
+ .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this,
nonceGroup, nonce) {
+@Override
+protected void run() throws IOException {
+ LOG.info("Submitting RefreshHfilesTableProcedure for a table");
Review Comment:
Done.
##
hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java:
##
@@ -4557,4 +4559,49 @@ List> adminCall(controller, stub,
request.build(),
resp -> resp.getCachedFilesList()))
.serverName(serverName).call();
}
+
+ @Override
+ public CompletableFuture refreshHFiles(final TableName tableName) {
+// Request builder
+RefreshHFilesRequest.Builder request = RefreshHFilesRequest.newBuilder();
+request.setTableName(ProtobufUtil.toProtoTableName(tableName));
+// Set nonce
+// Master Caller
+return this. newMasterCaller()
+ .action((controller, stub) -> this. call(
+controller, stub, request.build(),
MasterService.Interface::refreshHFiles,
+RefreshHFilesResponse::getProcId))
+ .call();
+// return CompletableFuture.completedFuture(null);
+ }
+
+ @Override
+ public CompletableFuture refreshHFiles(final String namespace) {
+// Request builder
+RefreshHFilesRequest.Builder request = RefreshHFilesRequest.newBuilder();
+request.setNamespace(namespace);
+// Set nonce
+// Master Caller
+return this. newMasterCaller()
+ .action((controller, stub) -> this. call(
+controller, stub, request.build(),
MasterService.Interface::refreshHFiles,
+RefreshHFilesResponse::getProcId))
+ .call();
+// return CompletableFuture.completedFuture(null);
+ }
+
+ @Override
+ public CompletableFuture refreshHFiles() {
+// Request builder
+RefreshHFilesRequest.Builder request = RefreshHFilesRequest.newBuilder();
+// Set nonce
+request.setNonceGroup(ng.getNonceGroup()).setNonce(ng.newNonce());
+// Master Caller
+return this. newMasterCaller()
+ .action((controller, stub) -> this. call(
+controller, stub, request.build(),
MasterService.Interface::refreshHFiles,
+RefreshHFilesResponse::getProcId))
+ .call();
+// return CompletableFuture.completedFuture(null);
Review Comment:
Done.
##
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
kgeisz commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2244013214 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesRegionProcedure.java: ## @@ -0,0 +1,132 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.Optional; +import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.hadoop.hbase.master.assignment.RegionStateNode; +import org.apache.hadoop.hbase.master.assignment.RegionStates; +import org.apache.hadoop.hbase.procedure2.FailedRemoteDispatchException; +import org.apache.hadoop.hbase.procedure2.Procedure; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException; +import org.apache.hadoop.hbase.procedure2.ProcedureYieldException; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureException; +import org.apache.hadoop.hbase.regionserver.RefreshHFilesCallable; +import org.apache.yetus.audience.InterfaceAudience; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; + [email protected] +public class RefreshHFilesRegionProcedure extends Procedure + implements TableProcedureInterface, + RemoteProcedureDispatcher.RemoteProcedure { + private RegionInfo region; + + public RefreshHFilesRegionProcedure() { + } + + public RefreshHFilesRegionProcedure(RegionInfo region) { +this.region = region; + } + + @Override + protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData data = + serializer.deserialize(MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.class); +this.region = ProtobufUtil.toRegionInfo(data.getRegion()); +// TODO Get the Data from region server + } + + @Override + protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.Builder builder = + MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.newBuilder(); +builder.setRegion(ProtobufUtil.toRegionInfo(region)); +// TODO add data that you want to pass to region server +serializer.serialize(builder.build()); + } + + @Override + protected boolean abort(MasterProcedureEnv env) { +return false; + } + + @Override + protected void rollback(MasterProcedureEnv env) throws IOException, InterruptedException { +throw new UnsupportedOperationException(); + } + + @Override + protected Procedure[] execute(MasterProcedureEnv env) +throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException { +RegionStates regionStates = env.getAssignmentManager().getRegionStates(); +RegionStateNode regionNode = regionStates.getRegionStateNode(region); + +ServerName targetServer = regionNode.getRegionLocation(); + +try { + env.getRemoteDispatcher().addOperationToNode(targetServer, this); +} catch (FailedRemoteDispatchException e) { + throw new ProcedureSuspendedException(); +} + +return null; + } + + @Override + public TableOperationType getTableOperationType() { +return TableOperationType.REFRESH_HFILES; + } + + @Override + public TableName getTableName() { +return region.getTable(); + } + + @Override + public void remoteOperationFailed(MasterProcedureEnv env, RemoteProcedureException error) { +// TODO redo the same thing again till retry count else send the error to client. Review Comment: Are these TODOs going to be implemented in this PR? -- 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
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
kgeisz commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2243999422
##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java:
##
@@ -4543,4 +4544,61 @@ protected String getDescription() {
}
});
}
+
+ public Long refreshHfiles(final TableName tableName, final long nonceGroup,
final long nonce)
+throws IOException {
+// TODO Check if table exists otherwise send exception.
+// return 121L;
+return MasterProcedureUtil
+ .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this,
nonceGroup, nonce) {
+@Override
+protected void run() throws IOException {
+ LOG.info("Submitting RefreshHfilesTableProcedure for a table");
+ submitProcedure(
+new
RefreshHFilesTableProcedure(procedureExecutor.getEnvironment(), tableName));
+}
+
+@Override
+protected String getDescription() {
+ return "RefreshHfilesProcedure for a table";
+}
+ });
+ }
+
+ public Long refreshHfiles(final String namespace, final long nonceGroup,
final long nonce)
+throws IOException {
+// TODO Check if namespace exists otherwise send exception.
+// return 122L;
+return MasterProcedureUtil
+ .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this,
nonceGroup, nonce) {
+@Override
+protected void run() throws IOException {
+ LOG.info("Submitting RefreshHfilesProcedure for namespace");
+ submitProcedure(
+new
RefreshHFilesTableProcedure(procedureExecutor.getEnvironment(), namespace));
+}
+
+@Override
+protected String getDescription() {
+ return "RefreshHfilesProcedure for namespace";
+}
+ });
+ }
+
+ public Long refreshHfiles(final long nonceGroup, final long nonce) throws
IOException {
+// return 123L;
+return MasterProcedureUtil
+ .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this,
nonceGroup, nonce) {
+@Override
+protected void run() throws IOException {
+ LOG.info("Submitting RefreshHfilesProcedure for all tables");
+ submitProcedure(new
RefreshHFilesTableProcedure(procedureExecutor.getEnvironment()));
+}
+
+@Override
+protected String getDescription() {
+ return "RefreshHfilesProcedure for all tables";
+}
+ });
Review Comment:
Do you think it would be worth building this in it's own function? That may
help prevent some building this in three separate places. Something like:
`public long submitRefreshHfilesProcedure(final TableName tableName, final
String namespace, final long nonceGroup, final long nonce)`
Then you can build the log message and `RefreshHFilesTableProcedure` object
differently based on if `tableName`, `namespace`, or both are null.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
kgeisz commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2243982872
##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java:
##
@@ -3661,4 +3661,28 @@ public FlushTableResponse flushTable(RpcController
controller, FlushTableRequest
throw new ServiceException(ioe);
}
}
+
+ @Override
+ public MasterProtos.RefreshHFilesResponse refreshHFiles(RpcController
controller,
+MasterProtos.RefreshHFilesRequest request) throws ServiceException {
+// TODO Check if table exists otherwise send exception.
+try {
+ Long procId;
+ if (request.hasTableName()) { // if we have provided table name as
parameter
Review Comment:
What happens if a request has both a namespace and a table name? Do we want
refreshing just the table to take precedence?
##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesRegionProcedure.java:
##
@@ -0,0 +1,132 @@
+/*
+ * 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
+ *
+ * http://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.hadoop.hbase.master.procedure;
+
+import java.io.IOException;
+import java.util.Optional;
+import org.apache.hadoop.hbase.ServerName;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.master.assignment.RegionStateNode;
+import org.apache.hadoop.hbase.master.assignment.RegionStates;
+import org.apache.hadoop.hbase.procedure2.FailedRemoteDispatchException;
+import org.apache.hadoop.hbase.procedure2.Procedure;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;
+import org.apache.hadoop.hbase.procedure2.ProcedureYieldException;
+import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher;
+import org.apache.hadoop.hbase.procedure2.RemoteProcedureException;
+import org.apache.hadoop.hbase.regionserver.RefreshHFilesCallable;
+import org.apache.yetus.audience.InterfaceAudience;
+
+import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
+import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos;
+
[email protected]
+public class RefreshHFilesRegionProcedure extends Procedure
+ implements TableProcedureInterface,
+ RemoteProcedureDispatcher.RemoteProcedure {
+ private RegionInfo region;
+
+ public RefreshHFilesRegionProcedure() {
+ }
+
+ public RefreshHFilesRegionProcedure(RegionInfo region) {
+this.region = region;
+ }
+
+ @Override
+ protected void deserializeStateData(ProcedureStateSerializer serializer)
throws IOException {
+MasterProcedureProtos.RefreshHFilesRegionProcedureStateData data =
+
serializer.deserialize(MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.class);
+this.region = ProtobufUtil.toRegionInfo(data.getRegion());
+// TODO Get the Data from region server
+ }
+
+ @Override
+ protected void serializeStateData(ProcedureStateSerializer serializer)
throws IOException {
+MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.Builder
builder =
+ MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.newBuilder();
+builder.setRegion(ProtobufUtil.toRegionInfo(region));
+// TODO add data that you want to pass to region server
+serializer.serialize(builder.build());
+ }
+
+ @Override
+ protected boolean abort(MasterProcedureEnv env) {
+return false;
+ }
+
+ @Override
+ protected void rollback(MasterProcedureEnv env) throws IOException,
InterruptedException {
+throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected Procedure[] execute(MasterProcedureEnv env)
+throws ProcedureYieldException, ProcedureSuspendedException,
InterruptedException {
+RegionStates regionStates = env.getAssignmentManager().getRegionStates();
+RegionStateNode regionNode = regionStates.getRegionStateNode(region);
+
+ServerName targetServer = regionNode.getRegionLocation();
+
+try {
+ env.getRemoteDispatcher().addOperationToNode(targetServer, this);
+} catch (FailedRemoteDispatchException e) {
+ throw new ProcedureSuspendedException();
+}
+
+return null;
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
wchevreuil commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2242653785 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesRegionProcedure.java: ## @@ -0,0 +1,132 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.Optional; +import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.hadoop.hbase.master.assignment.RegionStateNode; +import org.apache.hadoop.hbase.master.assignment.RegionStates; +import org.apache.hadoop.hbase.procedure2.FailedRemoteDispatchException; +import org.apache.hadoop.hbase.procedure2.Procedure; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException; +import org.apache.hadoop.hbase.procedure2.ProcedureYieldException; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureException; +import org.apache.hadoop.hbase.regionserver.RefreshHFilesCallable; +import org.apache.yetus.audience.InterfaceAudience; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; + [email protected] +public class RefreshHFilesRegionProcedure extends Procedure + implements TableProcedureInterface, + RemoteProcedureDispatcher.RemoteProcedure { + private RegionInfo region; + + public RefreshHFilesRegionProcedure() { + } + + public RefreshHFilesRegionProcedure(RegionInfo region) { +this.region = region; + } + + @Override + protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData data = + serializer.deserialize(MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.class); +this.region = ProtobufUtil.toRegionInfo(data.getRegion()); +// TODO Get the Data from region server + } + + @Override + protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.Builder builder = + MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.newBuilder(); +builder.setRegion(ProtobufUtil.toRegionInfo(region)); +// TODO add data that you want to pass to region server +serializer.serialize(builder.build()); + } + + @Override + protected boolean abort(MasterProcedureEnv env) { +return false; + } + + @Override + protected void rollback(MasterProcedureEnv env) throws IOException, InterruptedException { +throw new UnsupportedOperationException(); + } + + @Override + protected Procedure[] execute(MasterProcedureEnv env) +throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException { +RegionStates regionStates = env.getAssignmentManager().getRegionStates(); +RegionStateNode regionNode = regionStates.getRegionStateNode(region); Review Comment: Do we need to validate if region is online/offline? How about split regions? -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
wchevreuil commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2242657403 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesRegionProcedure.java: ## @@ -0,0 +1,132 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.Optional; +import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.hadoop.hbase.master.assignment.RegionStateNode; +import org.apache.hadoop.hbase.master.assignment.RegionStates; +import org.apache.hadoop.hbase.procedure2.FailedRemoteDispatchException; +import org.apache.hadoop.hbase.procedure2.Procedure; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException; +import org.apache.hadoop.hbase.procedure2.ProcedureYieldException; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureException; +import org.apache.hadoop.hbase.regionserver.RefreshHFilesCallable; +import org.apache.yetus.audience.InterfaceAudience; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; + [email protected] +public class RefreshHFilesRegionProcedure extends Procedure + implements TableProcedureInterface, + RemoteProcedureDispatcher.RemoteProcedure { + private RegionInfo region; + + public RefreshHFilesRegionProcedure() { + } + + public RefreshHFilesRegionProcedure(RegionInfo region) { +this.region = region; + } + + @Override + protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData data = + serializer.deserialize(MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.class); +this.region = ProtobufUtil.toRegionInfo(data.getRegion()); +// TODO Get the Data from region server + } + + @Override + protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.Builder builder = + MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.newBuilder(); +builder.setRegion(ProtobufUtil.toRegionInfo(region)); +// TODO add data that you want to pass to region server Review Comment: address it or remove it. -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
wchevreuil commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2242656408 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesRegionProcedure.java: ## @@ -0,0 +1,132 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.Optional; +import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.hadoop.hbase.master.assignment.RegionStateNode; +import org.apache.hadoop.hbase.master.assignment.RegionStates; +import org.apache.hadoop.hbase.procedure2.FailedRemoteDispatchException; +import org.apache.hadoop.hbase.procedure2.Procedure; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException; +import org.apache.hadoop.hbase.procedure2.ProcedureYieldException; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureException; +import org.apache.hadoop.hbase.regionserver.RefreshHFilesCallable; +import org.apache.yetus.audience.InterfaceAudience; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; + [email protected] +public class RefreshHFilesRegionProcedure extends Procedure + implements TableProcedureInterface, + RemoteProcedureDispatcher.RemoteProcedure { + private RegionInfo region; + + public RefreshHFilesRegionProcedure() { + } + + public RefreshHFilesRegionProcedure(RegionInfo region) { +this.region = region; + } + + @Override + protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData data = + serializer.deserialize(MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.class); +this.region = ProtobufUtil.toRegionInfo(data.getRegion()); +// TODO Get the Data from region server Review Comment: address TODO or remove if this is not needed. -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
wchevreuil commented on code in PR #7149: URL: https://github.com/apache/hbase/pull/7149#discussion_r2242653785 ## hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshHFilesRegionProcedure.java: ## @@ -0,0 +1,132 @@ +/* + * 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 + * + * http://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.hadoop.hbase.master.procedure; + +import java.io.IOException; +import java.util.Optional; +import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.hadoop.hbase.master.assignment.RegionStateNode; +import org.apache.hadoop.hbase.master.assignment.RegionStates; +import org.apache.hadoop.hbase.procedure2.FailedRemoteDispatchException; +import org.apache.hadoop.hbase.procedure2.Procedure; +import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer; +import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException; +import org.apache.hadoop.hbase.procedure2.ProcedureYieldException; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher; +import org.apache.hadoop.hbase.procedure2.RemoteProcedureException; +import org.apache.hadoop.hbase.regionserver.RefreshHFilesCallable; +import org.apache.yetus.audience.InterfaceAudience; + +import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos; + [email protected] +public class RefreshHFilesRegionProcedure extends Procedure + implements TableProcedureInterface, + RemoteProcedureDispatcher.RemoteProcedure { + private RegionInfo region; + + public RefreshHFilesRegionProcedure() { + } + + public RefreshHFilesRegionProcedure(RegionInfo region) { +this.region = region; + } + + @Override + protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData data = + serializer.deserialize(MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.class); +this.region = ProtobufUtil.toRegionInfo(data.getRegion()); +// TODO Get the Data from region server + } + + @Override + protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException { +MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.Builder builder = + MasterProcedureProtos.RefreshHFilesRegionProcedureStateData.newBuilder(); +builder.setRegion(ProtobufUtil.toRegionInfo(region)); +// TODO add data that you want to pass to region server +serializer.serialize(builder.build()); + } + + @Override + protected boolean abort(MasterProcedureEnv env) { +return false; + } + + @Override + protected void rollback(MasterProcedureEnv env) throws IOException, InterruptedException { +throw new UnsupportedOperationException(); + } + + @Override + protected Procedure[] execute(MasterProcedureEnv env) +throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException { +RegionStates regionStates = env.getAssignmentManager().getRegionStates(); +RegionStateNode regionNode = regionStates.getRegionStateNode(region); Review Comment: Do we need to distinguish between online/offline regions? How about split regions? -- 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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
wchevreuil commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2242481172
##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java:
##
@@ -3661,4 +3661,28 @@ public FlushTableResponse flushTable(RpcController
controller, FlushTableRequest
throw new ServiceException(ioe);
}
}
+
+ @Override
+ public MasterProtos.RefreshHFilesResponse refreshHFiles(RpcController
controller,
+MasterProtos.RefreshHFilesRequest request) throws ServiceException {
+// TODO Check if table exists otherwise send exception.
+try {
+ Long procId;
+ if (request.hasTableName()) { // if we have provided table name as
parameter
+// refreshHfiles for the given user tables
+procId =
server.refreshHfiles(ProtobufUtil.toTableName(request.getTableName()),
+ request.getNonceGroup(), request.getNonce());
+ } else if (request.hasNamespace()) { // if we have provided namespace as
parameter
+// refreshHfiles for all the user tables under the namespace
+procId =
+ server.refreshHfiles(request.getNamespace(),
request.getNonceGroup(), request.getNonce());
+ } else { // When no parameter is provided
+// refreshHfiles for all the user tables in HBase
+procId = server.refreshHfiles(request.getNonceGroup(),
request.getNonce());
+ }
Review Comment:
nit: remove comments. The code itself is easy to follow.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
wchevreuil commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2242479366
##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java:
##
@@ -3661,4 +3661,28 @@ public FlushTableResponse flushTable(RpcController
controller, FlushTableRequest
throw new ServiceException(ioe);
}
}
+
+ @Override
+ public MasterProtos.RefreshHFilesResponse refreshHFiles(RpcController
controller,
+MasterProtos.RefreshHFilesRequest request) throws ServiceException {
+// TODO Check if table exists otherwise send exception.
Review Comment:
Please address TODO or remove it if deemed unnecessary.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
wchevreuil commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2242475183
##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java:
##
@@ -4543,4 +4544,61 @@ protected String getDescription() {
}
});
}
+
+ public Long refreshHfiles(final TableName tableName, final long nonceGroup,
final long nonce)
+throws IOException {
+// TODO Check if table exists otherwise send exception.
+// return 121L;
+return MasterProcedureUtil
+ .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this,
nonceGroup, nonce) {
+@Override
+protected void run() throws IOException {
+ LOG.info("Submitting RefreshHfilesTableProcedure for a table");
+ submitProcedure(
+new
RefreshHFilesTableProcedure(procedureExecutor.getEnvironment(), tableName));
+}
+
+@Override
+protected String getDescription() {
+ return "RefreshHfilesProcedure for a table";
+}
+ });
+ }
+
+ public Long refreshHfiles(final String namespace, final long nonceGroup,
final long nonce)
+throws IOException {
+// TODO Check if namespace exists otherwise send exception.
+// return 122L;
+return MasterProcedureUtil
+ .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this,
nonceGroup, nonce) {
+@Override
+protected void run() throws IOException {
+ LOG.info("Submitting RefreshHfilesProcedure for namespace");
+ submitProcedure(
+new
RefreshHFilesTableProcedure(procedureExecutor.getEnvironment(), namespace));
+}
+
+@Override
+protected String getDescription() {
+ return "RefreshHfilesProcedure for namespace";
+}
+ });
+ }
+
+ public Long refreshHfiles(final long nonceGroup, final long nonce) throws
IOException {
+// return 123L;
Review Comment:
nit: remove commented hardcode.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
wchevreuil commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2242466201
##
hbase-protocol-shaded/src/main/protobuf/server/master/MasterProcedure.proto:
##
@@ -821,3 +821,20 @@ enum CloseTableRegionsProcedureState {
message CloseTableRegionsProcedureStateData {
required TableName table_name = 1;
}
+
+enum RefreshHFilesTableProcedureState {
+ REFRESH_HFILES_PREPARE = 1;
+ REFRESH_HFILES_REFRESH_REGION = 2;
+ REFRESH_HFILES_FINISH = 3;
+}
+
+message RefreshHFilesTableProcedureStateData {
+}
Review Comment:
Don't we need a table identifier here? Or is the table proc an aggregation
of regions procs?
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
wchevreuil commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2242466201
##
hbase-protocol-shaded/src/main/protobuf/server/master/MasterProcedure.proto:
##
@@ -821,3 +821,20 @@ enum CloseTableRegionsProcedureState {
message CloseTableRegionsProcedureStateData {
required TableName table_name = 1;
}
+
+enum RefreshHFilesTableProcedureState {
+ REFRESH_HFILES_PREPARE = 1;
+ REFRESH_HFILES_REFRESH_REGION = 2;
+ REFRESH_HFILES_FINISH = 3;
+}
+
+message RefreshHFilesTableProcedureStateData {
+}
Review Comment:
Don't we need a table identifier here?
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
wchevreuil commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2242457555
##
hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java:
##
@@ -4557,4 +4559,49 @@ List> adminCall(controller, stub,
request.build(),
resp -> resp.getCachedFilesList()))
.serverName(serverName).call();
}
+
+ @Override
+ public CompletableFuture refreshHFiles(final TableName tableName) {
+// Request builder
+RefreshHFilesRequest.Builder request = RefreshHFilesRequest.newBuilder();
+request.setTableName(ProtobufUtil.toProtoTableName(tableName));
+// Set nonce
+// Master Caller
+return this. newMasterCaller()
+ .action((controller, stub) -> this. call(
+controller, stub, request.build(),
MasterService.Interface::refreshHFiles,
+RefreshHFilesResponse::getProcId))
+ .call();
+// return CompletableFuture.completedFuture(null);
+ }
+
+ @Override
+ public CompletableFuture refreshHFiles(final String namespace) {
+// Request builder
+RefreshHFilesRequest.Builder request = RefreshHFilesRequest.newBuilder();
+request.setNamespace(namespace);
+// Set nonce
+// Master Caller
+return this. newMasterCaller()
+ .action((controller, stub) -> this. call(
+controller, stub, request.build(),
MasterService.Interface::refreshHFiles,
+RefreshHFilesResponse::getProcId))
+ .call();
+// return CompletableFuture.completedFuture(null);
+ }
+
+ @Override
+ public CompletableFuture refreshHFiles() {
+// Request builder
+RefreshHFilesRequest.Builder request = RefreshHFilesRequest.newBuilder();
+// Set nonce
+request.setNonceGroup(ng.getNonceGroup()).setNonce(ng.newNonce());
+// Master Caller
+return this. newMasterCaller()
+ .action((controller, stub) -> this. call(
+controller, stub, request.build(),
MasterService.Interface::refreshHFiles,
+RefreshHFilesResponse::getProcId))
+ .call();
+// return CompletableFuture.completedFuture(null);
Review Comment:
same as above.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
wchevreuil commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2242454382
##
hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java:
##
@@ -4557,4 +4559,49 @@ List> adminCall(controller, stub,
request.build(),
resp -> resp.getCachedFilesList()))
.serverName(serverName).call();
}
+
+ @Override
+ public CompletableFuture refreshHFiles(final TableName tableName) {
+// Request builder
+RefreshHFilesRequest.Builder request = RefreshHFilesRequest.newBuilder();
+request.setTableName(ProtobufUtil.toProtoTableName(tableName));
+// Set nonce
+// Master Caller
+return this. newMasterCaller()
+ .action((controller, stub) -> this. call(
+controller, stub, request.build(),
MasterService.Interface::refreshHFiles,
+RefreshHFilesResponse::getProcId))
+ .call();
+// return CompletableFuture.completedFuture(null);
+ }
+
+ @Override
+ public CompletableFuture refreshHFiles(final String namespace) {
+// Request builder
+RefreshHFilesRequest.Builder request = RefreshHFilesRequest.newBuilder();
+request.setNamespace(namespace);
+// Set nonce
+// Master Caller
+return this. newMasterCaller()
+ .action((controller, stub) -> this. call(
+controller, stub, request.build(),
MasterService.Interface::refreshHFiles,
+RefreshHFilesResponse::getProcId))
+ .call();
+// return CompletableFuture.completedFuture(null);
Review Comment:
similar as above.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
wchevreuil commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2242452877
##
hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java:
##
@@ -4557,4 +4559,49 @@ List> adminCall(controller, stub,
request.build(),
resp -> resp.getCachedFilesList()))
.serverName(serverName).call();
}
+
+ @Override
+ public CompletableFuture refreshHFiles(final TableName tableName) {
+// Request builder
+RefreshHFilesRequest.Builder request = RefreshHFilesRequest.newBuilder();
+request.setTableName(ProtobufUtil.toProtoTableName(tableName));
+// Set nonce
+// Master Caller
+return this. newMasterCaller()
+ .action((controller, stub) -> this. call(
+controller, stub, request.build(),
MasterService.Interface::refreshHFiles,
+RefreshHFilesResponse::getProcId))
+ .call();
+// return CompletableFuture.completedFuture(null);
Review Comment:
please remove obvious comments as well as commented code.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
wchevreuil commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2242438131
##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java:
##
@@ -4543,4 +4544,61 @@ protected String getDescription() {
}
});
}
+
+ public Long refreshHfiles(final TableName tableName, final long nonceGroup,
final long nonce)
+throws IOException {
+// TODO Check if table exists otherwise send exception.
+// return 121L;
+return MasterProcedureUtil
+ .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this,
nonceGroup, nonce) {
+@Override
+protected void run() throws IOException {
+ LOG.info("Submitting RefreshHfilesTableProcedure for a table");
+ submitProcedure(
+new
RefreshHFilesTableProcedure(procedureExecutor.getEnvironment(), tableName));
+}
+
+@Override
+protected String getDescription() {
+ return "RefreshHfilesProcedure for a table";
+}
+ });
+ }
+
+ public Long refreshHfiles(final String namespace, final long nonceGroup,
final long nonce)
+throws IOException {
+// TODO Check if namespace exists otherwise send exception.
+// return 122L;
+return MasterProcedureUtil
+ .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this,
nonceGroup, nonce) {
+@Override
+protected void run() throws IOException {
+ LOG.info("Submitting RefreshHfilesProcedure for namespace");
Review Comment:
nit: can we mention the namespace in this message?
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
wchevreuil commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2242434750
##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java:
##
@@ -4543,4 +4544,61 @@ protected String getDescription() {
}
});
}
+
+ public Long refreshHfiles(final TableName tableName, final long nonceGroup,
final long nonce)
+throws IOException {
+// TODO Check if table exists otherwise send exception.
+// return 121L;
+return MasterProcedureUtil
+ .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this,
nonceGroup, nonce) {
+@Override
+protected void run() throws IOException {
+ LOG.info("Submitting RefreshHfilesTableProcedure for a table");
Review Comment:
nit: can we mention the specific table in this log message?
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
wchevreuil commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2242432127
##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java:
##
@@ -4543,4 +4544,61 @@ protected String getDescription() {
}
});
}
+
+ public Long refreshHfiles(final TableName tableName, final long nonceGroup,
final long nonce)
+throws IOException {
+// TODO Check if table exists otherwise send exception.
+// return 121L;
Review Comment:
please address TODO or remove it if this isn't needed anymore.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Kota-SH commented on code in PR #7149:
URL: https://github.com/apache/hbase/pull/7149#discussion_r2240583588
##
hbase-protocol-shaded/src/main/protobuf/server/master/Master.proto:
##
@@ -796,6 +796,17 @@ message ModifyColumnStoreFileTrackerResponse {
optional uint64 proc_id = 1;
}
+message RefreshHFilesRequest {
+ optional TableName table_Name = 1;
Review Comment:
```suggestion
optional TableName table_name = 1;
```
##
hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java:
##
@@ -2651,4 +2651,24 @@ List getLogEntries(Set
serverNames, String logType, Server
* Get the list of cached files
*/
List getCachedFilesList(ServerName serverName) throws IOException;
+
+ /**
+ * Refresh HFiles for the table
+ * @param tableName table to refresh HFiles for
Review Comment:
Add @ Return to the java doc
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3130770667
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 36s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 4s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 45s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 36s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 2m 36s | | HBASE-29081 passed |
| +1 :green_heart: | javadoc | 1m 34s | | HBASE-29081 passed |
| +1 :green_heart: | shadedjars | 5m 56s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 13s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 5s | | the patch passed |
| +1 :green_heart: | compile | 2m 33s | | the patch passed |
| +1 :green_heart: | javac | 2m 33s | | the patch passed |
| +1 :green_heart: | javadoc | 1m 35s | | the patch passed |
| +1 :green_heart: | shadedjars | 5m 54s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| +1 :green_heart: | unit | 0m 33s | | hbase-protocol-shaded in the
patch passed. |
| +1 :green_heart: | unit | 1m 33s | | hbase-client in the patch
passed. |
| -1 :x: | unit | 235m 52s |
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/5/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
| hbase-server in the patch failed. |
| +1 :green_heart: | unit | 7m 36s | | hbase-thrift in the patch
passed. |
| +1 :green_heart: | unit | 8m 11s | | hbase-shell in the patch
passed. |
| | | 287m 38s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/5/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux dcad7b34027f 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / d465aa376ff56d9be733410af27f17e031fa5eb8 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/5/testReport/
|
| Max. process+thread count | 5208 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/5/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3130302694
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 32s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 1s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 18s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 5m 39s | | HBASE-29081 passed |
| +1 :green_heart: | checkstyle | 1m 40s | | HBASE-29081 passed |
| +1 :green_heart: | spotbugs | 5m 58s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 0m 47s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 4s | | the patch passed |
| +1 :green_heart: | compile | 5m 37s | | the patch passed |
| +1 :green_heart: | cc | 5m 37s | | the patch passed |
| +1 :green_heart: | javac | 5m 37s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 14s |
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/5/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
| The patch fails to run checkstyle in hbase-server |
| -0 :warning: | rubocop | 0m 19s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/5/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 6 new + 444 unchanged - 0 fixed = 450 total (was 444) |
| +1 :green_heart: | spotbugs | 6m 30s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 12m 14s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 2m 11s | | the patch passed |
| -1 :x: | spotless | 0m 21s | | patch has 21 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 43s | | The patch does not
generate ASF License warnings. |
| | | 59m 7s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/5/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux c3628d24e4ed 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / d465aa376ff56d9be733410af27f17e031fa5eb8 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/5/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 86 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/5/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3130225812
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 39s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 4s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 4m 16s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 3m 9s | | HBASE-29081 passed |
| +1 :green_heart: | javadoc | 2m 1s | | HBASE-29081 passed |
| +1 :green_heart: | shadedjars | 7m 13s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 15s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 57s | | the patch passed |
| +1 :green_heart: | compile | 3m 17s | | the patch passed |
| +1 :green_heart: | javac | 3m 17s | | the patch passed |
| +1 :green_heart: | javadoc | 2m 15s | | the patch passed |
| +1 :green_heart: | shadedjars | 7m 13s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| +1 :green_heart: | unit | 0m 41s | | hbase-protocol-shaded in the
patch passed. |
| +1 :green_heart: | unit | 2m 8s | | hbase-client in the patch
passed. |
| -1 :x: | unit | 260m 22s |
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/4/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
| hbase-server in the patch failed. |
| +1 :green_heart: | unit | 6m 54s | | hbase-thrift in the patch
passed. |
| +1 :green_heart: | unit | 7m 51s | | hbase-shell in the patch
passed. |
| | | 318m 8s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/4/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 3a19ac5a52fb 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / d465aa376ff56d9be733410af27f17e031fa5eb8 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/4/testReport/
|
| Max. process+thread count | 4741 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/4/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3129837600
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 51s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 16s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 4m 17s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 7m 35s | | HBASE-29081 passed |
| +1 :green_heart: | checkstyle | 2m 27s | | HBASE-29081 passed |
| +1 :green_heart: | spotbugs | 7m 58s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 1m 4s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 4m 19s | | the patch passed |
| +1 :green_heart: | compile | 7m 9s | | the patch passed |
| +1 :green_heart: | cc | 7m 9s | | the patch passed |
| +1 :green_heart: | javac | 7m 9s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 18s |
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/4/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
| The patch fails to run checkstyle in hbase-server |
| -0 :warning: | rubocop | 0m 21s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/4/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 6 new + 444 unchanged - 0 fixed = 450 total (was 444) |
| +1 :green_heart: | spotbugs | 8m 47s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 14m 51s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 2m 50s | | the patch passed |
| -1 :x: | spotless | 0m 34s | | patch has 22 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 1m 4s | | The patch does not
generate ASF License warnings. |
| | | 76m 38s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/4/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux 7cc3c780e3b2 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / d465aa376ff56d9be733410af27f17e031fa5eb8 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/4/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 84 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/4/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3084717690
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 33s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 4s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 10s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 16s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 2m 38s | | HBASE-29081 passed |
| +1 :green_heart: | javadoc | 1m 34s | | HBASE-29081 passed |
| +1 :green_heart: | shadedjars | 5m 55s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 13s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 6s | | the patch passed |
| +1 :green_heart: | compile | 2m 33s | | the patch passed |
| +1 :green_heart: | javac | 2m 33s | | the patch passed |
| +1 :green_heart: | javadoc | 1m 33s | | the patch passed |
| +1 :green_heart: | shadedjars | 5m 54s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| +1 :green_heart: | unit | 0m 33s | | hbase-protocol-shaded in the
patch passed. |
| +1 :green_heart: | unit | 1m 39s | | hbase-client in the patch
passed. |
| -1 :x: | unit | 244m 54s |
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/3/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
| hbase-server in the patch failed. |
| +1 :green_heart: | unit | 8m 9s | | hbase-thrift in the patch
passed. |
| +1 :green_heart: | unit | 8m 13s | | hbase-shell in the patch
passed. |
| | | 295m 44s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/3/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux d09793c53371 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / d3512694ff64af276aeaa7e0cfcb0e60dbd54a9e |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/3/testReport/
|
| Max. process+thread count | 5024 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/3/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3083926341
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 31s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 12s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 5m 35s | | HBASE-29081 passed |
| +1 :green_heart: | checkstyle | 1m 38s | | HBASE-29081 passed |
| +1 :green_heart: | spotbugs | 5m 58s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 0m 46s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 5s | | the patch passed |
| +1 :green_heart: | compile | 5m 32s | | the patch passed |
| +1 :green_heart: | cc | 5m 32s | | the patch passed |
| +1 :green_heart: | javac | 5m 32s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 15s |
[/results-checkstyle-hbase-client.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/3/artifact/yetus-general-check/output/results-checkstyle-hbase-client.txt)
| hbase-client: The patch generated 5 new + 3 unchanged - 0 fixed = 8 total
(was 3) |
| -0 :warning: | checkstyle | 0m 38s |
[/results-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/3/artifact/yetus-general-check/output/results-checkstyle-hbase-server.txt)
| hbase-server: The patch generated 5 new + 11 unchanged - 0 fixed = 16 total
(was 11) |
| -0 :warning: | rubocop | 0m 10s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/3/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 6 new + 444 unchanged - 0 fixed = 450 total (was 444) |
| +1 :green_heart: | spotbugs | 6m 31s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 12m 7s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 2m 10s | | the patch passed |
| -1 :x: | spotless | 0m 20s | | patch has 64 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 43s | | The patch does not
generate ASF License warnings. |
| | | 58m 45s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/3/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux 560002cf52d1 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / d3512694ff64af276aeaa7e0cfcb0e60dbd54a9e |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/3/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 85 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/3/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3083732947
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 33s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 3s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 9s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 12s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 2m 32s | | HBASE-29081 passed |
| +1 :green_heart: | javadoc | 1m 35s | | HBASE-29081 passed |
| +1 :green_heart: | shadedjars | 6m 3s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 6s | | the patch passed |
| +1 :green_heart: | compile | 2m 32s | | the patch passed |
| +1 :green_heart: | javac | 2m 32s | | the patch passed |
| +1 :green_heart: | javadoc | 1m 31s | | the patch passed |
| +1 :green_heart: | shadedjars | 5m 51s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| +1 :green_heart: | unit | 0m 33s | | hbase-protocol-shaded in the
patch passed. |
| +1 :green_heart: | unit | 1m 32s | | hbase-client in the patch
passed. |
| -1 :x: | unit | 228m 42s |
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/2/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
| hbase-server in the patch failed. |
| +1 :green_heart: | unit | 7m 56s | | hbase-thrift in the patch
passed. |
| +1 :green_heart: | unit | 8m 13s | | hbase-shell in the patch
passed. |
| | | 279m 26s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/2/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 302650c82763 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / 17f51808190775eee0de9f576f3576c517e6a93f |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/2/testReport/
|
| Max. process+thread count | 5620 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/2/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3083034680
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 31s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 36s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 35s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 5m 36s | | HBASE-29081 passed |
| +1 :green_heart: | checkstyle | 1m 38s | | HBASE-29081 passed |
| +1 :green_heart: | spotbugs | 6m 4s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 0m 48s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 5s | | the patch passed |
| +1 :green_heart: | compile | 5m 36s | | the patch passed |
| +1 :green_heart: | cc | 5m 36s | | the patch passed |
| +1 :green_heart: | javac | 5m 36s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 15s |
[/results-checkstyle-hbase-client.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/2/artifact/yetus-general-check/output/results-checkstyle-hbase-client.txt)
| hbase-client: The patch generated 1 new + 3 unchanged - 0 fixed = 4 total
(was 3) |
| -0 :warning: | checkstyle | 0m 38s |
[/results-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/2/artifact/yetus-general-check/output/results-checkstyle-hbase-server.txt)
| hbase-server: The patch generated 5 new + 11 unchanged - 0 fixed = 16 total
(was 11) |
| -0 :warning: | rubocop | 0m 9s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/2/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 6 new + 444 unchanged - 0 fixed = 450 total (was 444) |
| +1 :green_heart: | spotbugs | 6m 24s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 12m 22s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 2m 10s | | the patch passed |
| -1 :x: | spotless | 0m 20s | | patch has 64 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 43s | | The patch does not
generate ASF License warnings. |
| | | 59m 55s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/2/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux 0d1e48e74d40 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / 17f51808190775eee0de9f576f3576c517e6a93f |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/2/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 85 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/2/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3058887261
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 38s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 3s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 10s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 14s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 2m 35s | | HBASE-29081 passed |
| +1 :green_heart: | javadoc | 1m 36s | | HBASE-29081 passed |
| +1 :green_heart: | shadedjars | 5m 58s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 4m 7s | | the patch passed |
| +1 :green_heart: | compile | 3m 17s | | the patch passed |
| +1 :green_heart: | javac | 3m 17s | | the patch passed |
| +1 :green_heart: | javadoc | 1m 54s | | the patch passed |
| +1 :green_heart: | shadedjars | 7m 1s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| +1 :green_heart: | unit | 0m 43s | | hbase-protocol-shaded in the
patch passed. |
| +1 :green_heart: | unit | 2m 10s | | hbase-client in the patch
passed. |
| -1 :x: | unit | 252m 0s |
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/1/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
| hbase-server in the patch failed. |
| +1 :green_heart: | unit | 8m 7s | | hbase-thrift in the patch
passed. |
| +1 :green_heart: | unit | 8m 25s | | hbase-shell in the patch
passed. |
| | | 308m 20s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/1/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 44ffa0bd8a7f 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / baf37a2b7b3c9ca1781c60f8cd7ecaaf1944508a |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/1/testReport/
|
| Max. process+thread count | 5871 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/1/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
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]
Re: [PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
Apache-HBase commented on PR #7149:
URL: https://github.com/apache/hbase/pull/7149#issuecomment-3058065215
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 38s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +0 :ok: | buf | 0m 0s | | buf was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 0s | | Patch does not have any
anti-patterns. |
_ HBASE-29081 Compile Tests _ |
| +0 :ok: | mvndep | 0m 10s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 15s | | HBASE-29081 passed |
| +1 :green_heart: | compile | 5m 32s | | HBASE-29081 passed |
| +1 :green_heart: | checkstyle | 1m 38s | | HBASE-29081 passed |
| +1 :green_heart: | spotbugs | 5m 57s | | HBASE-29081 passed |
| +1 :green_heart: | spotless | 0m 46s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 6s | | the patch passed |
| +1 :green_heart: | compile | 5m 28s | | the patch passed |
| +1 :green_heart: | cc | 5m 28s | | the patch passed |
| +1 :green_heart: | javac | 5m 28s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 17s |
[/results-checkstyle-hbase-client.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/1/artifact/yetus-general-check/output/results-checkstyle-hbase-client.txt)
| hbase-client: The patch generated 1 new + 3 unchanged - 0 fixed = 4 total
(was 3) |
| -0 :warning: | checkstyle | 0m 37s |
[/results-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/1/artifact/yetus-general-check/output/results-checkstyle-hbase-server.txt)
| hbase-server: The patch generated 2 new + 0 unchanged - 0 fixed = 2 total
(was 0) |
| -0 :warning: | rubocop | 0m 20s |
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/1/artifact/yetus-general-check/output/results-rubocop.txt)
| The patch generated 6 new + 444 unchanged - 0 fixed = 450 total (was 444) |
| +1 :green_heart: | spotbugs | 8m 28s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 14m 12s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | hbaseprotoc | 2m 36s | | the patch passed |
| -1 :x: | spotless | 0m 22s | | patch has 64 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 48s | | The patch does not
generate ASF License warnings. |
| | | 64m 16s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/1/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/7149 |
| JIRA Issue | HBASE-29328 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat
hbaseprotoc rubocop |
| uname | Linux 7ace34129eed 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May
23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | HBASE-29081 / baf37a2b7b3c9ca1781c60f8cd7ecaaf1944508a |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/1/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 86 (vs. ulimit of 3) |
| modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift
hbase-shell U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7149/1/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
[PR] HBASE-29328: Implement new HBase command: refresh_hfiles [hbase]
sharmaar12 opened a new pull request, #7149: URL: https://github.com/apache/hbase/pull/7149 (no comment) -- 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]
