Re: [PR] HBASE-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
taklwu merged PR #6717: URL: https://github.com/apache/hbase/pull/6717 -- 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
kgeisz commented on code in PR #6717: URL: https://github.com/apache/hbase/pull/6717#discussion_r2116260761 ## hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/AbstractRestoreDriver.java: ## @@ -0,0 +1,227 @@ +/* + * 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.backup; + +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_CHECK; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_CHECK_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_DEBUG; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_DEBUG_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_OVERWRITE; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_OVERWRITE_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_SET; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_SET_RESTORE_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_LIST_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_MAPPING; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_MAPPING_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_YARN_QUEUE_NAME; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_YARN_QUEUE_NAME_RESTORE_DESC; + +import java.io.IOException; +import java.util.List; +import java.util.Objects; +import org.apache.commons.lang3.StringUtils; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.backup.impl.BackupManager; +import org.apache.hadoop.hbase.backup.impl.BackupSystemTable; +import org.apache.hadoop.hbase.backup.util.BackupUtils; +import org.apache.hadoop.hbase.client.Connection; +import org.apache.hadoop.hbase.client.ConnectionFactory; +import org.apache.hadoop.hbase.logging.Log4jUtils; +import org.apache.hadoop.hbase.util.AbstractHBaseTool; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hbase.thirdparty.org.apache.commons.cli.CommandLine; +import org.apache.hbase.thirdparty.org.apache.commons.cli.HelpFormatter; + [email protected] +public abstract class AbstractRestoreDriver extends AbstractHBaseTool { + protected static final Logger LOG = LoggerFactory.getLogger(AbstractRestoreDriver.class); + protected CommandLine cmd; + + protected static final String USAGE_FOOTER = ""; + + protected AbstractRestoreDriver() { +init(); + } + + protected void init() { +Log4jUtils.disableZkAndClientLoggers(); + } + + protected abstract int executeRestore(boolean check, TableName[] fromTables, TableName[] toTables, +boolean isOverwrite); + + private int parseAndRun() throws IOException { +if (!BackupManager.isBackupEnabled(getConf())) { + System.err.println(BackupRestoreConstants.ENABLE_BACKUP); + return -1; +} + +if (cmd.hasOption(OPTION_DEBUG)) { + Log4jUtils.setLogLevel("org.apache.hadoop.hbase.backup", "DEBUG"); +} + +boolean overwrite = cmd.hasOption(OPTION_OVERWRITE); +if (overwrite) { + LOG.debug("Found -overwrite option in restore command, " ++ "will overwrite to existing table if any in the restore target"); +} + +boolean check = cmd.hasOption(OPTION_CHECK); +if (check) { Review Comment: I missed that you're using this at the end of the function as well, so no change is needed 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
kgeisz commented on code in PR #6717: URL: https://github.com/apache/hbase/pull/6717#discussion_r2116260761 ## hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/AbstractRestoreDriver.java: ## @@ -0,0 +1,227 @@ +/* + * 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.backup; + +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_CHECK; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_CHECK_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_DEBUG; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_DEBUG_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_OVERWRITE; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_OVERWRITE_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_SET; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_SET_RESTORE_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_LIST_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_MAPPING; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_MAPPING_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_YARN_QUEUE_NAME; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_YARN_QUEUE_NAME_RESTORE_DESC; + +import java.io.IOException; +import java.util.List; +import java.util.Objects; +import org.apache.commons.lang3.StringUtils; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.backup.impl.BackupManager; +import org.apache.hadoop.hbase.backup.impl.BackupSystemTable; +import org.apache.hadoop.hbase.backup.util.BackupUtils; +import org.apache.hadoop.hbase.client.Connection; +import org.apache.hadoop.hbase.client.ConnectionFactory; +import org.apache.hadoop.hbase.logging.Log4jUtils; +import org.apache.hadoop.hbase.util.AbstractHBaseTool; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hbase.thirdparty.org.apache.commons.cli.CommandLine; +import org.apache.hbase.thirdparty.org.apache.commons.cli.HelpFormatter; + [email protected] +public abstract class AbstractRestoreDriver extends AbstractHBaseTool { + protected static final Logger LOG = LoggerFactory.getLogger(AbstractRestoreDriver.class); + protected CommandLine cmd; + + protected static final String USAGE_FOOTER = ""; + + protected AbstractRestoreDriver() { +init(); + } + + protected void init() { +Log4jUtils.disableZkAndClientLoggers(); + } + + protected abstract int executeRestore(boolean check, TableName[] fromTables, TableName[] toTables, +boolean isOverwrite); + + private int parseAndRun() throws IOException { +if (!BackupManager.isBackupEnabled(getConf())) { + System.err.println(BackupRestoreConstants.ENABLE_BACKUP); + return -1; +} + +if (cmd.hasOption(OPTION_DEBUG)) { + Log4jUtils.setLogLevel("org.apache.hadoop.hbase.backup", "DEBUG"); +} + +boolean overwrite = cmd.hasOption(OPTION_OVERWRITE); +if (overwrite) { + LOG.debug("Found -overwrite option in restore command, " ++ "will overwrite to existing table if any in the restore target"); +} + +boolean check = cmd.hasOption(OPTION_CHECK); +if (check) { Review Comment: I missed that you're using this at the end of the function as well. -- 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
kgeisz commented on code in PR #6717: URL: https://github.com/apache/hbase/pull/6717#discussion_r2116259352 ## hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/AbstractRestoreDriver.java: ## @@ -0,0 +1,227 @@ +/* + * 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.backup; + +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_CHECK; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_CHECK_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_DEBUG; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_DEBUG_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_OVERWRITE; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_OVERWRITE_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_SET; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_SET_RESTORE_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_LIST_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_MAPPING; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_MAPPING_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_YARN_QUEUE_NAME; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_YARN_QUEUE_NAME_RESTORE_DESC; + +import java.io.IOException; +import java.util.List; +import java.util.Objects; +import org.apache.commons.lang3.StringUtils; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.backup.impl.BackupManager; +import org.apache.hadoop.hbase.backup.impl.BackupSystemTable; +import org.apache.hadoop.hbase.backup.util.BackupUtils; +import org.apache.hadoop.hbase.client.Connection; +import org.apache.hadoop.hbase.client.ConnectionFactory; +import org.apache.hadoop.hbase.logging.Log4jUtils; +import org.apache.hadoop.hbase.util.AbstractHBaseTool; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hbase.thirdparty.org.apache.commons.cli.CommandLine; +import org.apache.hbase.thirdparty.org.apache.commons.cli.HelpFormatter; + [email protected] +public abstract class AbstractRestoreDriver extends AbstractHBaseTool { + protected static final Logger LOG = LoggerFactory.getLogger(AbstractRestoreDriver.class); + protected CommandLine cmd; + + protected static final String USAGE_FOOTER = ""; + + protected AbstractRestoreDriver() { +init(); + } + + protected void init() { +Log4jUtils.disableZkAndClientLoggers(); + } + + protected abstract int executeRestore(boolean check, TableName[] fromTables, TableName[] toTables, +boolean isOverwrite); + + private int parseAndRun() throws IOException { +if (!BackupManager.isBackupEnabled(getConf())) { + System.err.println(BackupRestoreConstants.ENABLE_BACKUP); + return -1; +} + +if (cmd.hasOption(OPTION_DEBUG)) { + Log4jUtils.setLogLevel("org.apache.hadoop.hbase.backup", "DEBUG"); +} + +boolean overwrite = cmd.hasOption(OPTION_OVERWRITE); +if (overwrite) { Review Comment: Got it, I missed that. -- 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
vinayakphegde commented on code in PR #6717:
URL: https://github.com/apache/hbase/pull/6717#discussion_r2115679885
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/RestoreDriver.java:
##
@@ -17,117 +17,34 @@
*/
package org.apache.hadoop.hbase.backup;
-import static
org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_CHECK;
-import static
org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_CHECK_DESC;
-import static
org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_DEBUG;
-import static
org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_DEBUG_DESC;
-import static
org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_OVERWRITE;
-import static
org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_OVERWRITE_DESC;
-import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_SET;
-import static
org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_SET_RESTORE_DESC;
-import static
org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE;
-import static
org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_LIST_DESC;
-import static
org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_MAPPING;
-import static
org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_MAPPING_DESC;
-import static
org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_YARN_QUEUE_NAME;
-import static
org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_YARN_QUEUE_NAME_RESTORE_DESC;
-
-import java.io.IOException;
import java.net.URI;
-import java.util.List;
-import java.util.Objects;
-import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.backup.impl.BackupAdminImpl;
-import org.apache.hadoop.hbase.backup.impl.BackupManager;
-import org.apache.hadoop.hbase.backup.impl.BackupSystemTable;
import org.apache.hadoop.hbase.backup.util.BackupUtils;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
-import org.apache.hadoop.hbase.logging.Log4jUtils;
-import org.apache.hadoop.hbase.util.AbstractHBaseTool;
import org.apache.hadoop.hbase.util.CommonFSUtils;
import org.apache.hadoop.util.ToolRunner;
import org.apache.yetus.audience.InterfaceAudience;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.hbase.thirdparty.org.apache.commons.cli.CommandLine;
-import org.apache.hbase.thirdparty.org.apache.commons.cli.HelpFormatter;
/**
* Command-line entry point for restore operation
*/
@InterfaceAudience.Private
-public class RestoreDriver extends AbstractHBaseTool {
- private static final Logger LOG =
LoggerFactory.getLogger(RestoreDriver.class);
- private CommandLine cmd;
-
- private static final String USAGE_STRING =
-"Usage: hbase restore [options]\n"
- + " backup_path Path to a backup destination root\n"
- + " backup_id Backup image ID to restore\n"
- + " table(s)Comma-separated list of tables to restore\n";
-
- private static final String USAGE_FOOTER = "";
-
- protected RestoreDriver() throws IOException {
-init();
- }
-
- protected void init() {
-// disable irrelevant loggers to avoid it mess up command output
-Log4jUtils.disableZkAndClientLoggers();
- }
-
- private int parseAndRun() throws IOException {
-// Check if backup is enabled
-if (!BackupManager.isBackupEnabled(getConf())) {
- System.err.println(BackupRestoreConstants.ENABLE_BACKUP);
- return -1;
-}
-
-// enable debug logging
-if (cmd.hasOption(OPTION_DEBUG)) {
- Log4jUtils.setLogLevel("org.apache.hadoop.hbase.backup", "DEBUG");
-}
-
-// whether to overwrite to existing table if any, false by default
-boolean overwrite = cmd.hasOption(OPTION_OVERWRITE);
-if (overwrite) {
- LOG.debug("Found -overwrite option in restore command, "
-+ "will overwrite to existing table if any in the restore target");
-}
-
-// whether to only check the dependencies, false by default
-boolean check = cmd.hasOption(OPTION_CHECK);
-if (check) {
- LOG.debug(
-"Found -check option in restore command, " + "will check and verify
the dependencies");
-}
-
-if (cmd.hasOption(OPTION_SET) && cmd.hasOption(OPTION_TABLE)) {
- System.err.println(
-"Options -s and -t are mutaully exclusive," + " you can not specify
both of them.");
- printToolUsage();
- return -1;
-}
-
-if (!cmd.hasOption(OPTION_SET) && !cmd.hasOption(OPTION_TABLE)) {
- System.err.println("You have to specify either set name or table list to
restore");
- printToolUsage();
- return -1;
-}
-
-if (cmd.hasOption(OPTION_YARN_QUEUE_NAME)) {
- String queueName = cmd.ge
Re: [PR] HBASE-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
Apache-HBase commented on PR #6717:
URL: https://github.com/apache/hbase/pull/6717#issuecomment-2922342728
:confetti_ball: **+1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 58s | | 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: | shelldocs | 0m 0s | | Shelldocs 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-28957 Compile Tests _ |
| +0 :ok: | mvndep | 0m 38s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 4m 36s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 9m 30s | | HBASE-28957 passed |
| +1 :green_heart: | checkstyle | 1m 19s | | HBASE-28957 passed |
| +1 :green_heart: | spotbugs | 9m 18s | | HBASE-28957 passed |
| +1 :green_heart: | spotless | 0m 51s | | 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 44s | | the patch passed |
| +1 :green_heart: | compile | 9m 59s | | the patch passed |
| -0 :warning: | javac | 9m 59s |
[/results-compile-javac-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/11/artifact/yetus-general-check/output/results-compile-javac-root.txt)
| root generated 1 new + 1273 unchanged - 0 fixed = 1274 total (was 1273) |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 1m 26s |
[/buildtool-patch-checkstyle-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/11/artifact/yetus-general-check/output/buildtool-patch-checkstyle-root.txt)
| The patch fails to run checkstyle in root |
| +1 :green_heart: | shellcheck | 0m 2s | | No new issues. |
| +1 :green_heart: | spotbugs | 10m 28s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 13m 7s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | spotless | 0m 53s | | patch has no errors when
running spotless:check. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 22s | | The patch does not
generate ASF License warnings. |
| | | 76m 24s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/11/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6717 |
| JIRA Issue | HBASE-29133 |
| Optional Tests | dupname asflicense codespell detsecrets shellcheck
shelldocs spotless javac spotbugs checkstyle compile hadoopcheck hbaseanti |
| uname | Linux c8bcb4e6215d 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-28957 / 04afea2a728acfad28eeb7f8e7d45c1b1a1b2f17 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Max. process+thread count | 189 (vs. ulimit of 3) |
| modules | C: hbase-backup . U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/11/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 shellcheck=0.8.0 |
| 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
vinayakphegde commented on code in PR #6717: URL: https://github.com/apache/hbase/pull/6717#discussion_r2115684437 ## hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/PointInTimeRestoreDriver.java: ## @@ -0,0 +1,136 @@ +/* + * 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.backup; + +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.CONF_CONTINUOUS_BACKUP_WAL_DIR; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.LONG_OPTION_PITR_BACKUP_PATH; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.LONG_OPTION_TO_DATETIME; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_PITR_BACKUP_PATH; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_PITR_BACKUP_PATH_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TO_DATETIME; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TO_DATETIME_DESC; + +import java.net.URI; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hbase.HBaseConfiguration; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.backup.impl.BackupAdminImpl; +import org.apache.hadoop.hbase.backup.util.BackupUtils; +import org.apache.hadoop.hbase.client.Connection; +import org.apache.hadoop.hbase.client.ConnectionFactory; +import org.apache.hadoop.hbase.util.CommonFSUtils; +import org.apache.hadoop.util.ToolRunner; +import org.apache.yetus.audience.InterfaceAudience; + +/** + * Command-line entry point for restore operation + */ [email protected] +public class PointInTimeRestoreDriver extends AbstractRestoreDriver { + private static final String USAGE_STRING = """ + Usage: hbase pitr [options] + Backup Path to use for Point in Time Restore +table(s)Comma-separated list of tables to restore + """; + + @Override + protected int executeRestore(boolean check, TableName[] fromTables, TableName[] toTables, +boolean isOverwrite) { +String walBackupDir = getConf().get(CONF_CONTINUOUS_BACKUP_WAL_DIR); +if (walBackupDir == null || walBackupDir.isEmpty()) { + System.err.printf( +"Point-in-Time Restore requires the WAL backup directory (%s) to replay logs after full and incremental backups. " + + "Set this property if you need Point-in-Time Restore. Otherwise, use the normal restore process with the appropriate backup ID.%n", +CONF_CONTINUOUS_BACKUP_WAL_DIR); + return -1; +} + +String[] remainArgs = cmd.getArgs(); +if (remainArgs.length != 0) { + printToolUsage(); + return -1; +} + +String backupRootDir = + cmd.hasOption(OPTION_PITR_BACKUP_PATH) ? cmd.getOptionValue(OPTION_PITR_BACKUP_PATH) : null; Review Comment: True. but can we keep for readability purpose? -- 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
Apache-HBase commented on PR #6717:
URL: https://github.com/apache/hbase/pull/6717#issuecomment-2922245786
: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-28957 Compile Tests _ |
| +0 :ok: | mvndep | 0m 17s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 17s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 2m 12s | | HBASE-28957 passed |
| +1 :green_heart: | javadoc | 2m 10s | | HBASE-28957 passed |
| +1 :green_heart: | shadedjars | 5m 59s | | 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 2s | | the patch passed |
| +1 :green_heart: | compile | 2m 12s | | the patch passed |
| +1 :green_heart: | javac | 2m 12s | | the patch passed |
| +1 :green_heart: | javadoc | 2m 9s | | the patch passed |
| +1 :green_heart: | shadedjars | 5m 58s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| -1 :x: | unit | 3m 9s |
[/patch-unit-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/11/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-root.txt)
| root in the patch failed. |
| | | 32m 24s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/11/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6717 |
| JIRA Issue | HBASE-29133 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux cfa9f4152a3f 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-28957 / 04afea2a728acfad28eeb7f8e7d45c1b1a1b2f17 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/11/testReport/
|
| Max. process+thread count | 315 (vs. ulimit of 3) |
| modules | C: hbase-backup . U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
vinayakphegde commented on code in PR #6717: URL: https://github.com/apache/hbase/pull/6717#discussion_r2115689818 ## hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/PointInTimeRestoreDriver.java: ## @@ -0,0 +1,136 @@ +/* + * 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.backup; + +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.CONF_CONTINUOUS_BACKUP_WAL_DIR; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.LONG_OPTION_PITR_BACKUP_PATH; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.LONG_OPTION_TO_DATETIME; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_PITR_BACKUP_PATH; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_PITR_BACKUP_PATH_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TO_DATETIME; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TO_DATETIME_DESC; + +import java.net.URI; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hbase.HBaseConfiguration; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.backup.impl.BackupAdminImpl; +import org.apache.hadoop.hbase.backup.util.BackupUtils; +import org.apache.hadoop.hbase.client.Connection; +import org.apache.hadoop.hbase.client.ConnectionFactory; +import org.apache.hadoop.hbase.util.CommonFSUtils; +import org.apache.hadoop.util.ToolRunner; +import org.apache.yetus.audience.InterfaceAudience; + +/** + * Command-line entry point for restore operation + */ [email protected] +public class PointInTimeRestoreDriver extends AbstractRestoreDriver { + private static final String USAGE_STRING = """ + Usage: hbase pitr [options] + Backup Path to use for Point in Time Restore +table(s)Comma-separated list of tables to restore + """; + + @Override + protected int executeRestore(boolean check, TableName[] fromTables, TableName[] toTables, +boolean isOverwrite) { +String walBackupDir = getConf().get(CONF_CONTINUOUS_BACKUP_WAL_DIR); +if (walBackupDir == null || walBackupDir.isEmpty()) { + System.err.printf( +"Point-in-Time Restore requires the WAL backup directory (%s) to replay logs after full and incremental backups. " + + "Set this property if you need Point-in-Time Restore. Otherwise, use the normal restore process with the appropriate backup ID.%n", +CONF_CONTINUOUS_BACKUP_WAL_DIR); + return -1; +} + +String[] remainArgs = cmd.getArgs(); +if (remainArgs.length != 0) { + printToolUsage(); + return -1; +} + +String backupRootDir = + cmd.hasOption(OPTION_PITR_BACKUP_PATH) ? cmd.getOptionValue(OPTION_PITR_BACKUP_PATH) : null; Review Comment: But I will modify it. user will know that backupRootDir could be null since we are using cmd.getOptionValue(), which could return 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
vinayakphegde commented on code in PR #6717: URL: https://github.com/apache/hbase/pull/6717#discussion_r2115697664 ## hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/AbstractRestoreDriver.java: ## @@ -0,0 +1,227 @@ +/* + * 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.backup; + +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_CHECK; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_CHECK_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_DEBUG; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_DEBUG_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_OVERWRITE; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_OVERWRITE_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_SET; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_SET_RESTORE_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_LIST_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_MAPPING; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_MAPPING_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_YARN_QUEUE_NAME; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_YARN_QUEUE_NAME_RESTORE_DESC; + +import java.io.IOException; +import java.util.List; +import java.util.Objects; +import org.apache.commons.lang3.StringUtils; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.backup.impl.BackupManager; +import org.apache.hadoop.hbase.backup.impl.BackupSystemTable; +import org.apache.hadoop.hbase.backup.util.BackupUtils; +import org.apache.hadoop.hbase.client.Connection; +import org.apache.hadoop.hbase.client.ConnectionFactory; +import org.apache.hadoop.hbase.logging.Log4jUtils; +import org.apache.hadoop.hbase.util.AbstractHBaseTool; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hbase.thirdparty.org.apache.commons.cli.CommandLine; +import org.apache.hbase.thirdparty.org.apache.commons.cli.HelpFormatter; + [email protected] +public abstract class AbstractRestoreDriver extends AbstractHBaseTool { + protected static final Logger LOG = LoggerFactory.getLogger(AbstractRestoreDriver.class); + protected CommandLine cmd; + + protected static final String USAGE_FOOTER = ""; + + protected AbstractRestoreDriver() { +init(); + } + + protected void init() { +Log4jUtils.disableZkAndClientLoggers(); + } + + protected abstract int executeRestore(boolean check, TableName[] fromTables, TableName[] toTables, +boolean isOverwrite); + + private int parseAndRun() throws IOException { +if (!BackupManager.isBackupEnabled(getConf())) { + System.err.println(BackupRestoreConstants.ENABLE_BACKUP); + return -1; +} + +if (cmd.hasOption(OPTION_DEBUG)) { + Log4jUtils.setLogLevel("org.apache.hadoop.hbase.backup", "DEBUG"); +} + +boolean overwrite = cmd.hasOption(OPTION_OVERWRITE); +if (overwrite) { Review Comment: But I am using the value of `overwrite` in another place (line 152). -- 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
kgeisz commented on code in PR #6717: URL: https://github.com/apache/hbase/pull/6717#discussion_r2114795970 ## hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/AbstractRestoreDriver.java: ## @@ -0,0 +1,227 @@ +/* + * 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.backup; + +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_CHECK; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_CHECK_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_DEBUG; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_DEBUG_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_OVERWRITE; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_OVERWRITE_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_SET; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_SET_RESTORE_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_LIST_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_MAPPING; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_MAPPING_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_YARN_QUEUE_NAME; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_YARN_QUEUE_NAME_RESTORE_DESC; + +import java.io.IOException; +import java.util.List; +import java.util.Objects; +import org.apache.commons.lang3.StringUtils; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.backup.impl.BackupManager; +import org.apache.hadoop.hbase.backup.impl.BackupSystemTable; +import org.apache.hadoop.hbase.backup.util.BackupUtils; +import org.apache.hadoop.hbase.client.Connection; +import org.apache.hadoop.hbase.client.ConnectionFactory; +import org.apache.hadoop.hbase.logging.Log4jUtils; +import org.apache.hadoop.hbase.util.AbstractHBaseTool; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hbase.thirdparty.org.apache.commons.cli.CommandLine; +import org.apache.hbase.thirdparty.org.apache.commons.cli.HelpFormatter; + [email protected] +public abstract class AbstractRestoreDriver extends AbstractHBaseTool { + protected static final Logger LOG = LoggerFactory.getLogger(AbstractRestoreDriver.class); + protected CommandLine cmd; + + protected static final String USAGE_FOOTER = ""; + + protected AbstractRestoreDriver() { +init(); + } + + protected void init() { +Log4jUtils.disableZkAndClientLoggers(); + } + + protected abstract int executeRestore(boolean check, TableName[] fromTables, TableName[] toTables, +boolean isOverwrite); + + private int parseAndRun() throws IOException { +if (!BackupManager.isBackupEnabled(getConf())) { + System.err.println(BackupRestoreConstants.ENABLE_BACKUP); + return -1; +} + +if (cmd.hasOption(OPTION_DEBUG)) { + Log4jUtils.setLogLevel("org.apache.hadoop.hbase.backup", "DEBUG"); +} + +boolean overwrite = cmd.hasOption(OPTION_OVERWRITE); +if (overwrite) { + LOG.debug("Found -overwrite option in restore command, " ++ "will overwrite to existing table if any in the restore target"); +} + +boolean check = cmd.hasOption(OPTION_CHECK); +if (check) { + LOG.debug( +"Found -check option in restore command, " + "will check and verify the dependencies"); +} + +if (cmd.hasOption(OPTION_SET) && cmd.hasOption(OPTION_TABLE)) { + System.err.println( +"Options -s and -t are mutually exclusive," + " you can not specify both of them."); + printToolUsage(); + return -1; +} + +if (!cmd.hasOption(OPTION_SET) && !cmd.hasOption(OPTION_TABLE)) { + System.err.println("You have to specify either set name or table list to restore"); Review Comment: Similar to the previous comment ```suggestion System.err.pri
Re: [PR] HBASE-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
kgeisz commented on code in PR #6717: URL: https://github.com/apache/hbase/pull/6717#discussion_r2114744849 ## hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/AbstractRestoreDriver.java: ## @@ -0,0 +1,227 @@ +/* + * 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.backup; + +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_CHECK; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_CHECK_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_DEBUG; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_DEBUG_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_OVERWRITE; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_OVERWRITE_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_SET; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_SET_RESTORE_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_LIST_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_MAPPING; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_MAPPING_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_YARN_QUEUE_NAME; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_YARN_QUEUE_NAME_RESTORE_DESC; + +import java.io.IOException; +import java.util.List; +import java.util.Objects; +import org.apache.commons.lang3.StringUtils; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.backup.impl.BackupManager; +import org.apache.hadoop.hbase.backup.impl.BackupSystemTable; +import org.apache.hadoop.hbase.backup.util.BackupUtils; +import org.apache.hadoop.hbase.client.Connection; +import org.apache.hadoop.hbase.client.ConnectionFactory; +import org.apache.hadoop.hbase.logging.Log4jUtils; +import org.apache.hadoop.hbase.util.AbstractHBaseTool; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hbase.thirdparty.org.apache.commons.cli.CommandLine; +import org.apache.hbase.thirdparty.org.apache.commons.cli.HelpFormatter; + [email protected] +public abstract class AbstractRestoreDriver extends AbstractHBaseTool { + protected static final Logger LOG = LoggerFactory.getLogger(AbstractRestoreDriver.class); + protected CommandLine cmd; + + protected static final String USAGE_FOOTER = ""; + + protected AbstractRestoreDriver() { +init(); + } + + protected void init() { +Log4jUtils.disableZkAndClientLoggers(); + } + + protected abstract int executeRestore(boolean check, TableName[] fromTables, TableName[] toTables, +boolean isOverwrite); + + private int parseAndRun() throws IOException { +if (!BackupManager.isBackupEnabled(getConf())) { + System.err.println(BackupRestoreConstants.ENABLE_BACKUP); + return -1; +} + +if (cmd.hasOption(OPTION_DEBUG)) { + Log4jUtils.setLogLevel("org.apache.hadoop.hbase.backup", "DEBUG"); +} + +boolean overwrite = cmd.hasOption(OPTION_OVERWRITE); +if (overwrite) { + LOG.debug("Found -overwrite option in restore command, " ++ "will overwrite to existing table if any in the restore target"); Review Comment: nit - I see you have `-o`, but from what I can tell `-overwrite` is not an available alternative option. It may be more clear to have the actual option in parenthesis. ```suggestion LOG.debug("Found overwrite option (-{}) in restore command, " + "will overwrite to existing table if any in the restore target", OPTION_OVERWRITE); ``` -- 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
kgeisz commented on code in PR #6717: URL: https://github.com/apache/hbase/pull/6717#discussion_r2114793555 ## hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/AbstractRestoreDriver.java: ## @@ -0,0 +1,227 @@ +/* + * 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.backup; + +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_CHECK; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_CHECK_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_DEBUG; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_DEBUG_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_OVERWRITE; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_OVERWRITE_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_SET; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_SET_RESTORE_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_LIST_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_MAPPING; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_TABLE_MAPPING_DESC; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_YARN_QUEUE_NAME; +import static org.apache.hadoop.hbase.backup.BackupRestoreConstants.OPTION_YARN_QUEUE_NAME_RESTORE_DESC; + +import java.io.IOException; +import java.util.List; +import java.util.Objects; +import org.apache.commons.lang3.StringUtils; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.backup.impl.BackupManager; +import org.apache.hadoop.hbase.backup.impl.BackupSystemTable; +import org.apache.hadoop.hbase.backup.util.BackupUtils; +import org.apache.hadoop.hbase.client.Connection; +import org.apache.hadoop.hbase.client.ConnectionFactory; +import org.apache.hadoop.hbase.logging.Log4jUtils; +import org.apache.hadoop.hbase.util.AbstractHBaseTool; +import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.hbase.thirdparty.org.apache.commons.cli.CommandLine; +import org.apache.hbase.thirdparty.org.apache.commons.cli.HelpFormatter; + [email protected] +public abstract class AbstractRestoreDriver extends AbstractHBaseTool { + protected static final Logger LOG = LoggerFactory.getLogger(AbstractRestoreDriver.class); + protected CommandLine cmd; + + protected static final String USAGE_FOOTER = ""; + + protected AbstractRestoreDriver() { +init(); + } + + protected void init() { +Log4jUtils.disableZkAndClientLoggers(); + } + + protected abstract int executeRestore(boolean check, TableName[] fromTables, TableName[] toTables, +boolean isOverwrite); + + private int parseAndRun() throws IOException { +if (!BackupManager.isBackupEnabled(getConf())) { + System.err.println(BackupRestoreConstants.ENABLE_BACKUP); + return -1; +} + +if (cmd.hasOption(OPTION_DEBUG)) { + Log4jUtils.setLogLevel("org.apache.hadoop.hbase.backup", "DEBUG"); +} + +boolean overwrite = cmd.hasOption(OPTION_OVERWRITE); +if (overwrite) { + LOG.debug("Found -overwrite option in restore command, " ++ "will overwrite to existing table if any in the restore target"); +} + +boolean check = cmd.hasOption(OPTION_CHECK); +if (check) { + LOG.debug( +"Found -check option in restore command, " + "will check and verify the dependencies"); +} + +if (cmd.hasOption(OPTION_SET) && cmd.hasOption(OPTION_TABLE)) { + System.err.println( +"Options -s and -t are mutually exclusive," + " you can not specify both of them."); Review Comment: Maybe add a little info to quickly remind the user what `-s` and `-t` do? ```suggestion System.err.printf( "Set name (-%s) and table list (-%s) are mutually exclusive, you can not specify both " + "of them.%n", OPTION_SET, OPTION_TABLE); ```
Re: [PR] HBASE-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
anmolnar commented on PR #6717: URL: https://github.com/apache/hbase/pull/6717#issuecomment-2919423263 > > > > Overall lgtm, but surprising how low the level of unit tests' granularity is: for instance `BackupAdminImpl` is such a big class and there's no corresponding test class. It has a lot of private methods which could be tested as "units" if they were package private and we had a `BackupAdminTest` class. Please consider that. > > > > > > > > > True, there isn’t a separate test class specifically for `BackupAdminImpl`. However, if you look at the overall structure, the core implementation resides in `BackupAdminImpl`, while the other classes primarily handle input preparation (including validation) and delegate the calls to `BackupAdminImpl`. We have a lot of tests for those classes, which indirectly cover almost all parts of `BackupAdminImpl`. > > > That said, I’ll still take a closer look at the class and add tests if I find any gaps. > > > > > > Could you please provide examples of that? Are they really just proxy calls? > > Yes, for example, mergeBackups() is already covered by tests in TestBackupMerge, TestIncrementalBackupMergeWithBulkLoad, and IntegrationTestBackupRestore. The checkIfValidForMerge() method is private and is only called from mergeBackups(), which is the case for most of the methods in this class. > > That said, we can definitely create a dedicated test class for this and add the remaining/uncovered test cases. I’ll open a separate Jira for that. Does that sound good? Yeah, these examples are all integration tests as the same suggests in some cases: they create "real"/mini HBase cluster, sets up a connection, get reference to Admin and call methods which are publicly accessible. Looks like this is historically the main approach for HBase testing, but this is not unit testing. What I'm talking about is instantiating BackupAdminImpl class directly with a mocked connection and test the methods individually. In order to do this you have to make methods accessible from unit tests, for instance, by changing visibility to package private. I don't insist doing this strictly, just leaving here as something to think about. Let me approve this patch regardless. -- 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
Apache-HBase commented on PR #6717:
URL: https://github.com/apache/hbase/pull/6717#issuecomment-2917985019
: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-28957 Compile Tests _ |
| +0 :ok: | mvndep | 0m 10s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 11s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 2m 13s | | HBASE-28957 passed |
| +1 :green_heart: | javadoc | 2m 11s | | HBASE-28957 passed |
| +1 :green_heart: | shadedjars | 5m 59s | | 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 2s | | the patch passed |
| +1 :green_heart: | compile | 2m 9s | | the patch passed |
| +1 :green_heart: | javac | 2m 9s | | the patch passed |
| +1 :green_heart: | javadoc | 2m 12s | | the patch passed |
| +1 :green_heart: | shadedjars | 5m 56s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| -1 :x: | unit | 247m 12s |
[/patch-unit-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/10/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-root.txt)
| root in the patch failed. |
| | | 280m 34s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/10/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6717 |
| JIRA Issue | HBASE-29133 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 43e28404db18 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-28957 / 8063bbe39ea421ae2df1980f20d235270c76f366 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/10/testReport/
|
| Max. process+thread count | 6046 (vs. ulimit of 3) |
| modules | C: hbase-backup . U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
Apache-HBase commented on PR #6717:
URL: https://github.com/apache/hbase/pull/6717#issuecomment-2917738689
:confetti_ball: **+1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 42s | | 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: | shelldocs | 0m 0s | | Shelldocs 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-28957 Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 4m 7s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 10m 48s | | HBASE-28957 passed |
| +1 :green_heart: | checkstyle | 1m 29s | | HBASE-28957 passed |
| +1 :green_heart: | spotbugs | 10m 12s | | HBASE-28957 passed |
| +1 :green_heart: | spotless | 0m 59s | | 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 55s | | the patch passed |
| +1 :green_heart: | compile | 10m 36s | | the patch passed |
| -0 :warning: | javac | 10m 36s |
[/results-compile-javac-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/10/artifact/yetus-general-check/output/results-compile-javac-root.txt)
| root generated 1 new + 1273 unchanged - 0 fixed = 1274 total (was 1273) |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 1m 29s |
[/buildtool-patch-checkstyle-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/10/artifact/yetus-general-check/output/buildtool-patch-checkstyle-root.txt)
| The patch fails to run checkstyle in root |
| +1 :green_heart: | shellcheck | 0m 2s | | No new issues. |
| +1 :green_heart: | spotbugs | 10m 53s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 14m 49s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | spotless | 1m 0s | | patch has no errors when
running spotless:check. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 28s | | The patch does not
generate ASF License warnings. |
| | | 81m 23s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/10/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6717 |
| JIRA Issue | HBASE-29133 |
| Optional Tests | dupname asflicense codespell detsecrets shellcheck
shelldocs spotless javac spotbugs checkstyle compile hadoopcheck hbaseanti |
| uname | Linux 099ca9c0447e 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-28957 / 8063bbe39ea421ae2df1980f20d235270c76f366 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Max. process+thread count | 189 (vs. ulimit of 3) |
| modules | C: hbase-backup . U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/10/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 shellcheck=0.8.0 |
| 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
vinayakphegde commented on PR #6717: URL: https://github.com/apache/hbase/pull/6717#issuecomment-2917299012 > > > Overall lgtm, but surprising how low the level of unit tests' granularity is: for instance `BackupAdminImpl` is such a big class and there's no corresponding test class. It has a lot of private methods which could be tested as "units" if they were package private and we had a `BackupAdminTest` class. Please consider that. > > > > > > True, there isn’t a separate test class specifically for `BackupAdminImpl`. However, if you look at the overall structure, the core implementation resides in `BackupAdminImpl`, while the other classes primarily handle input preparation (including validation) and delegate the calls to `BackupAdminImpl`. We have a lot of tests for those classes, which indirectly cover almost all parts of `BackupAdminImpl`. > > That said, I’ll still take a closer look at the class and add tests if I find any gaps. > > Could you please provide examples of that? Are they really just proxy calls? Yes, for example, mergeBackups() is already covered by tests in TestBackupMerge, TestIncrementalBackupMergeWithBulkLoad, and IntegrationTestBackupRestore. The checkIfValidForMerge() method is private and is only called from mergeBackups(), which is the case for most of the methods in this class. That said, we can definitely create a dedicated test class for this and add the remaining/uncovered test cases. I’ll open a separate Jira for that. Does that sound good? -- 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
anmolnar commented on PR #6717: URL: https://github.com/apache/hbase/pull/6717#issuecomment-2916411766 > > Overall lgtm, but surprising how low the level of unit tests' granularity is: for instance `BackupAdminImpl` is such a big class and there's no corresponding test class. It has a lot of private methods which could be tested as "units" if they were package private and we had a `BackupAdminTest` class. Please consider that. > > True, there isn’t a separate test class specifically for `BackupAdminImpl`. However, if you look at the overall structure, the core implementation resides in `BackupAdminImpl`, while the other classes primarily handle input preparation (including validation) and delegate the calls to `BackupAdminImpl`. We have a lot of tests for those classes, which indirectly cover almost all parts of `BackupAdminImpl`. > > That said, I’ll still take a closer look at the class and add tests if I find any gaps. Could you please provide examples of that? Are they really just proxy calls? -- 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
vinayakphegde commented on PR #6717: URL: https://github.com/apache/hbase/pull/6717#issuecomment-2915955005 > Overall lgtm, but surprising how low the level of unit tests' granularity is: for instance `BackupAdminImpl` is such a big class and there's no corresponding test class. It has a lot of private methods which could be tested as "units" if they were package private and we had a `BackupAdminTest` class. Please consider that. True, there isn’t a separate test class specifically for `BackupAdminImpl`. However, if you look at the overall structure, the core implementation resides in `BackupAdminImpl`, while the other classes primarily handle input preparation (including validation) and delegate the calls to `BackupAdminImpl`. We have a lot of tests for those classes, which indirectly cover almost all parts of `BackupAdminImpl`. That said, I’ll still take a closer look at the class and add tests if I find any gaps. -- 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
anmolnar commented on PR #6717: URL: https://github.com/apache/hbase/pull/6717#issuecomment-2914556397 @vinayakphegde You also need to rebase the patch. Some flaky tests have already been fixed on the feature branch. -- 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
anmolnar commented on code in PR #6717:
URL: https://github.com/apache/hbase/pull/6717#discussion_r2110477468
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/util/BackupUtils.java:
##
@@ -671,6 +682,14 @@ public static RestoreRequest createRestoreRequest(String
backupRootDir, String b
return request;
}
+ public static PointInTimeRestoreRequest
createPointInTimeRestoreRequest(String backupRootDir,
Review Comment:
nit: Since you have Builder implemented for PointInTimeRestoreRequest, this
method is redundant. Creating a new request is already a one-liner.
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/util/BackupUtils.java:
##
@@ -770,4 +789,156 @@ public static String findMostRecentBackupId(String[]
backupIds) {
return BackupRestoreConstants.BACKUPID_PREFIX + recentTimestamp;
}
+ /**
+ * Calculates the replication checkpoint timestamp used for continuous
backup.
+ *
+ * A replication checkpoint is the earliest timestamp across all region
servers such that every
+ * WAL entry before that point is known to be replicated to the target
system. This is essential
+ * for features like Point-in-Time Restore (PITR) and incremental backups,
where we want to
+ * confidently restore data to a consistent state without missing updates.
+ *
+ * The checkpoint is calculated using a combination of:
+ *
+ * The start timestamps of WAL files currently being replicated for each
server.
+ * The latest successfully replicated timestamp recorded by the
replication marker chore.
+ *
+ *
+ * We combine these two sources to handle the following challenges:
+ *
+ * Stale WAL start times: If replication traffic is low or WALs
are long-lived, the
+ * replication offset may point to the same WAL for a long time, resulting
in stale timestamps
+ * that underestimate progress. This could delay PITR unnecessarily.
+ * Limitations of marker-only tracking: The replication marker
chore stores the last
+ * successfully replicated timestamp per region server in a system table.
However, this data may
+ * become stale if the server goes offline or region ownership changes. For
example, if a region
+ * initially belonged to rs1 and was later moved to rs4 due to re-balancing,
rs1’s marker would
+ * persist even though it no longer holds any regions. Relying solely on
these stale markers could
+ * lead to incorrect or outdated checkpoints.
+ *
+ *
+ * To handle these limitations, the method:
+ *
+ * Verifies that the continuous backup peer exists to ensure replication
is enabled.
+ * Retrieves WAL replication queue information for the peer, collecting
WAL start times per
+ * region server. This gives us a lower bound for replication progress.
+ * Reads the marker chore's replicated timestamps from the backup system
table.
+ * For servers found in both sources, if the marker timestamp is more
recent than the WAL's
+ * start timestamp, we use the marker (since replication has progressed
beyond the WAL).
+ * We discard marker entries for region servers that are not present in
WAL queues, assuming
+ * those servers are no longer relevant (e.g., decommissioned or
reassigned).
+ * The checkpoint is the minimum of all chosen timestamps — i.e., the
slowest replicating
+ * region server.
+ * Finally, we persist the updated marker information to include any
newly participating
+ * region servers.
+ *
+ *
+ * Note: If the replication marker chore is disabled, we fall back to using
only the WAL start
+ * times. This ensures correctness but may lead to conservative checkpoint
estimates during idle
+ * periods.
+ * @param conn the HBase connection
+ * @return the calculated replication checkpoint timestamp
+ * @throws IOException if reading replication queues or updating the backup
system table fails
+ */
+ public static long getReplicationCheckpoint(Connection conn) throws
IOException {
+Configuration conf = conn.getConfiguration();
+long checkpoint = EnvironmentEdgeManager.getDelegate().currentTime();
+
+// Step 1: Ensure the continuous backup replication peer exists
+if (!continuousBackupReplicationPeerExists(conn.getAdmin())) {
+ String msg = "Replication peer '" + CONTINUOUS_BACKUP_REPLICATION_PEER
++ "' not found. Continuous backup not enabled.";
+ LOG.error(msg);
+ throw new IOException(msg);
+}
+
+// Step 2: Get all replication queues for the continuous backup peer
+ReplicationQueueStorage queueStorage =
+ ReplicationStorageFactory.getReplicationQueueStorage(conn, conf);
+
+List queueIds;
+try {
+ queueIds =
queueStorage.listAllQueueIds(CONTINUOUS_BACKUP_REPLICATION_PEER);
+} catch (ReplicationException e) {
+ String msg = "Failed to retrieve replication queue IDs for peer '"
++ CONTINUOUS_BACKUP_REPLICATION_PEER + "'";
+ LOG.error(msg,
Re: [PR] HBASE-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
vinayakphegde commented on code in PR #6717:
URL: https://github.com/apache/hbase/pull/6717#discussion_r2074738766
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/util/BackupUtils.java:
##
@@ -770,4 +789,156 @@ public static String findMostRecentBackupId(String[]
backupIds) {
return BackupRestoreConstants.BACKUPID_PREFIX + recentTimestamp;
}
+ /**
+ * Calculates the replication checkpoint timestamp used for continuous
backup.
+ *
+ * A replication checkpoint is the earliest timestamp across all region
servers such that every
+ * WAL entry before that point is known to be replicated to the target
system. This is essential
+ * for features like Point-in-Time Restore (PITR) and incremental backups,
where we want to
+ * confidently restore data to a consistent state without missing updates.
+ *
+ * The checkpoint is calculated using a combination of:
+ *
+ * The start timestamps of WAL files currently being replicated for each
server.
+ * The latest successfully replicated timestamp recorded by the
replication marker chore.
+ *
+ *
+ * We combine these two sources to handle the following challenges:
+ *
+ * Stale WAL start times: If replication traffic is low or WALs
are long-lived, the
+ * replication offset may point to the same WAL for a long time, resulting
in stale timestamps
+ * that underestimate progress. This could delay PITR unnecessarily.
+ * Limitations of marker-only tracking: The replication marker
chore stores the last
+ * successfully replicated timestamp per region server in a system table.
However, this data may
+ * become stale if the server goes offline or region ownership changes. For
example, if a region
+ * initially belonged to rs1 and was later moved to rs4 due to re-balancing,
rs1’s marker would
+ * persist even though it no longer holds any regions. Relying solely on
these stale markers could
+ * lead to incorrect or outdated checkpoints.
+ *
+ *
+ * To handle these limitations, the method:
+ *
+ * Verifies that the continuous backup peer exists to ensure replication
is enabled.
+ * Retrieves WAL replication queue information for the peer, collecting
WAL start times per
+ * region server. This gives us a lower bound for replication progress.
+ * Reads the marker chore's replicated timestamps from the backup system
table.
+ * For servers found in both sources, if the marker timestamp is more
recent than the WAL's
+ * start timestamp, we use the marker (since replication has progressed
beyond the WAL).
+ * We discard marker entries for region servers that are not present in
WAL queues, assuming
+ * those servers are no longer relevant (e.g., decommissioned or
reassigned).
+ * The checkpoint is the minimum of all chosen timestamps — i.e., the
slowest replicating
+ * region server.
+ * Finally, we persist the updated marker information to include any
newly participating
+ * region servers.
+ *
+ *
+ * Note: If the replication marker chore is disabled, we fall back to using
only the WAL start
+ * times. This ensures correctness but may lead to conservative checkpoint
estimates during idle
+ * periods.
+ * @param conn the HBase connection
+ * @return the calculated replication checkpoint timestamp
+ * @throws IOException if reading replication queues or updating the backup
system table fails
+ */
+ public static long getReplicationCheckpoint(Connection conn) throws
IOException {
+Configuration conf = conn.getConfiguration();
+long checkpoint = EnvironmentEdgeManager.getDelegate().currentTime();
+
+// Step 1: Ensure the continuous backup replication peer exists
+if (!continuousBackupReplicationPeerExists(conn.getAdmin())) {
+ String msg = "Replication peer '" + CONTINUOUS_BACKUP_REPLICATION_PEER
++ "' not found. Continuous backup not enabled.";
+ LOG.error(msg);
+ throw new IOException(msg);
+}
+
+// Step 2: Get all replication queues for the continuous backup peer
+ReplicationQueueStorage queueStorage =
+ ReplicationStorageFactory.getReplicationQueueStorage(conn, conf);
+
+List queueIds;
+try {
+ queueIds =
queueStorage.listAllQueueIds(CONTINUOUS_BACKUP_REPLICATION_PEER);
+} catch (ReplicationException e) {
+ String msg = "Failed to retrieve replication queue IDs for peer '"
++ CONTINUOUS_BACKUP_REPLICATION_PEER + "'";
+ LOG.error(msg, e);
+ throw new IOException(msg, e);
+}
+
+if (queueIds.isEmpty()) {
+ String msg = "Replication peer '" + CONTINUOUS_BACKUP_REPLICATION_PEER +
"' has no queues. "
++ "This may indicate that continuous backup replication is not
initialized correctly.";
+ LOG.error(msg);
+ throw new IOException(msg);
+}
+
+// Step 3: Build a map of ServerName -> WAL start timestamp (lowest seen
per server)
+Map serverToCheckpoint = new HashMap<>();
+for
Re: [PR] HBASE-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
kgeisz commented on code in PR #6717:
URL: https://github.com/apache/hbase/pull/6717#discussion_r2065030821
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/util/BackupUtils.java:
##
@@ -770,4 +789,156 @@ public static String findMostRecentBackupId(String[]
backupIds) {
return BackupRestoreConstants.BACKUPID_PREFIX + recentTimestamp;
}
+ /**
+ * Calculates the replication checkpoint timestamp used for continuous
backup.
+ *
+ * A replication checkpoint is the earliest timestamp across all region
servers such that every
+ * WAL entry before that point is known to be replicated to the target
system. This is essential
+ * for features like Point-in-Time Restore (PITR) and incremental backups,
where we want to
+ * confidently restore data to a consistent state without missing updates.
+ *
+ * The checkpoint is calculated using a combination of:
+ *
+ * The start timestamps of WAL files currently being replicated for each
server.
+ * The latest successfully replicated timestamp recorded by the
replication marker chore.
+ *
+ *
+ * We combine these two sources to handle the following challenges:
+ *
+ * Stale WAL start times: If replication traffic is low or WALs
are long-lived, the
+ * replication offset may point to the same WAL for a long time, resulting
in stale timestamps
+ * that underestimate progress. This could delay PITR unnecessarily.
+ * Limitations of marker-only tracking: The replication marker
chore stores the last
+ * successfully replicated timestamp per region server in a system table.
However, this data may
+ * become stale if the server goes offline or region ownership changes. For
example, if a region
+ * initially belonged to rs1 and was later moved to rs4 due to re-balancing,
rs1’s marker would
+ * persist even though it no longer holds any regions. Relying solely on
these stale markers could
+ * lead to incorrect or outdated checkpoints.
+ *
+ *
+ * To handle these limitations, the method:
+ *
+ * Verifies that the continuous backup peer exists to ensure replication
is enabled.
+ * Retrieves WAL replication queue information for the peer, collecting
WAL start times per
+ * region server. This gives us a lower bound for replication progress.
+ * Reads the marker chore's replicated timestamps from the backup system
table.
+ * For servers found in both sources, if the marker timestamp is more
recent than the WAL's
+ * start timestamp, we use the marker (since replication has progressed
beyond the WAL).
+ * We discard marker entries for region servers that are not present in
WAL queues, assuming
+ * those servers are no longer relevant (e.g., decommissioned or
reassigned).
+ * The checkpoint is the minimum of all chosen timestamps — i.e., the
slowest replicating
+ * region server.
+ * Finally, we persist the updated marker information to include any
newly participating
+ * region servers.
+ *
+ *
+ * Note: If the replication marker chore is disabled, we fall back to using
only the WAL start
+ * times. This ensures correctness but may lead to conservative checkpoint
estimates during idle
+ * periods.
+ * @param conn the HBase connection
+ * @return the calculated replication checkpoint timestamp
+ * @throws IOException if reading replication queues or updating the backup
system table fails
+ */
+ public static long getReplicationCheckpoint(Connection conn) throws
IOException {
+Configuration conf = conn.getConfiguration();
+long checkpoint = EnvironmentEdgeManager.getDelegate().currentTime();
+
+// Step 1: Ensure the continuous backup replication peer exists
+if (!continuousBackupReplicationPeerExists(conn.getAdmin())) {
+ String msg = "Replication peer '" + CONTINUOUS_BACKUP_REPLICATION_PEER
++ "' not found. Continuous backup not enabled.";
+ LOG.error(msg);
+ throw new IOException(msg);
+}
+
+// Step 2: Get all replication queues for the continuous backup peer
+ReplicationQueueStorage queueStorage =
+ ReplicationStorageFactory.getReplicationQueueStorage(conn, conf);
+
+List queueIds;
+try {
+ queueIds =
queueStorage.listAllQueueIds(CONTINUOUS_BACKUP_REPLICATION_PEER);
+} catch (ReplicationException e) {
+ String msg = "Failed to retrieve replication queue IDs for peer '"
++ CONTINUOUS_BACKUP_REPLICATION_PEER + "'";
+ LOG.error(msg, e);
+ throw new IOException(msg, e);
+}
+
+if (queueIds.isEmpty()) {
+ String msg = "Replication peer '" + CONTINUOUS_BACKUP_REPLICATION_PEER +
"' has no queues. "
++ "This may indicate that continuous backup replication is not
initialized correctly.";
+ LOG.error(msg);
+ throw new IOException(msg);
+}
+
+// Step 3: Build a map of ServerName -> WAL start timestamp (lowest seen
per server)
+Map serverToCheckpoint = new HashMap<>();
+for (Replic
Re: [PR] HBASE-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
Apache-HBase commented on PR #6717:
URL: https://github.com/apache/hbase/pull/6717#issuecomment-2793429101
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 45s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 2s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-28957 Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 4m 11s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 2m 57s | | HBASE-28957 passed |
| +1 :green_heart: | javadoc | 3m 23s | | HBASE-28957 passed |
| +1 :green_heart: | shadedjars | 7m 40s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 20s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 4m 31s | | 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 | 3m 33s | | the patch passed |
| +1 :green_heart: | shadedjars | 7m 50s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| -1 :x: | unit | 300m 23s |
[/patch-unit-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/9/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-root.txt)
| root in the patch failed. |
| | | 346m 33s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/9/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6717 |
| JIRA Issue | HBASE-29133 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 921d9702e677 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-28957 / f0c0a7f41b623487cdfe3b12ebf351e2f2585ddf |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/9/testReport/
|
| Max. process+thread count | 5436 (vs. ulimit of 3) |
| modules | C: hbase-backup . U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/9/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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
Apache-HBase commented on PR #6717:
URL: https://github.com/apache/hbase/pull/6717#issuecomment-2792183358
:confetti_ball: **+1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 44s | | 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: | shelldocs | 0m 0s | | Shelldocs 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-28957 Compile Tests _ |
| +0 :ok: | mvndep | 0m 39s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 4m 38s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 10m 52s | | HBASE-28957 passed |
| +1 :green_heart: | checkstyle | 1m 19s | | HBASE-28957 passed |
| +1 :green_heart: | spotbugs | 11m 11s | | HBASE-28957 passed |
| +1 :green_heart: | spotless | 1m 12s | | branch has no errors when
running spotless:check. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 13s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 45s | | the patch passed |
| +1 :green_heart: | compile | 12m 4s | | the patch passed |
| -0 :warning: | javac | 12m 4s |
[/results-compile-javac-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/9/artifact/yetus-general-check/output/results-compile-javac-root.txt)
| root generated 1 new + 1273 unchanged - 0 fixed = 1274 total (was 1273) |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 2m 6s |
[/buildtool-patch-checkstyle-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/9/artifact/yetus-general-check/output/buildtool-patch-checkstyle-root.txt)
| The patch fails to run checkstyle in root |
| +1 :green_heart: | shellcheck | 0m 1s | | No new issues. |
| +1 :green_heart: | spotbugs | 11m 1s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 18m 7s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | spotless | 1m 10s | | patch has no errors when
running spotless:check. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 28s | | The patch does not
generate ASF License warnings. |
| | | 90m 30s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/9/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6717 |
| JIRA Issue | HBASE-29133 |
| Optional Tests | dupname asflicense codespell detsecrets shellcheck
shelldocs spotless javac spotbugs checkstyle compile hadoopcheck hbaseanti |
| uname | Linux 21eda626d1f6 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-28957 / f0c0a7f41b623487cdfe3b12ebf351e2f2585ddf |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Max. process+thread count | 188 (vs. ulimit of 3) |
| modules | C: hbase-backup . U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/9/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 shellcheck=0.8.0 |
| 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
Apache-HBase commented on PR #6717:
URL: https://github.com/apache/hbase/pull/6717#issuecomment-2791215313
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 40s | | 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-28957 Compile Tests _ |
| +0 :ok: | mvndep | 0m 12s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 43s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 2m 40s | | HBASE-28957 passed |
| +1 :green_heart: | javadoc | 3m 12s | | HBASE-28957 passed |
| +1 :green_heart: | shadedjars | 7m 17s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 41s | | the patch passed |
| +1 :green_heart: | compile | 2m 25s | | the patch passed |
| +1 :green_heart: | javac | 2m 25s | | the patch passed |
| +1 :green_heart: | javadoc | 2m 48s | | the patch passed |
| +1 :green_heart: | shadedjars | 7m 4s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| -1 :x: | unit | 341m 10s |
[/patch-unit-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/8/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-root.txt)
| root in the patch failed. |
| | | 381m 51s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/8/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6717 |
| JIRA Issue | HBASE-29133 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 226dc3cbdea3 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-28957 / 4fa1c3b31e3266c2f177480a92af433d2ddc50cd |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/8/testReport/
|
| Max. process+thread count | 5128 (vs. ulimit of 3) |
| modules | C: hbase-backup . U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
Apache-HBase commented on PR #6717:
URL: https://github.com/apache/hbase/pull/6717#issuecomment-2790625668
:confetti_ball: **+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: | shelldocs | 0m 0s | | Shelldocs was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| +1 :green_heart: | hbaseanti | 0m 1s | | Patch does not have any
anti-patterns. |
_ HBASE-28957 Compile Tests _ |
| +0 :ok: | mvndep | 0m 36s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 30s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 7m 58s | | HBASE-28957 passed |
| +1 :green_heart: | checkstyle | 1m 11s | | HBASE-28957 passed |
| +1 :green_heart: | spotbugs | 7m 57s | | HBASE-28957 passed |
| +1 :green_heart: | spotless | 0m 45s | | 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 1s | | the patch passed |
| +1 :green_heart: | compile | 9m 39s | | the patch passed |
| -0 :warning: | javac | 9m 39s |
[/results-compile-javac-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/8/artifact/yetus-general-check/output/results-compile-javac-root.txt)
| root generated 1 new + 1273 unchanged - 0 fixed = 1274 total (was 1273) |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 1m 27s |
[/buildtool-patch-checkstyle-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/8/artifact/yetus-general-check/output/buildtool-patch-checkstyle-root.txt)
| The patch fails to run checkstyle in root |
| +1 :green_heart: | shellcheck | 0m 1s | | No new issues. |
| +1 :green_heart: | spotbugs | 10m 59s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 12m 59s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | spotless | 0m 46s | | patch has no errors when
running spotless:check. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 21s | | The patch does not
generate ASF License warnings. |
| | | 69m 59s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/8/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6717 |
| JIRA Issue | HBASE-29133 |
| Optional Tests | dupname asflicense codespell detsecrets shellcheck
shelldocs spotless javac spotbugs checkstyle compile hadoopcheck hbaseanti |
| uname | Linux 0623615afd49 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-28957 / 4fa1c3b31e3266c2f177480a92af433d2ddc50cd |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Max. process+thread count | 191 (vs. ulimit of 3) |
| modules | C: hbase-backup . U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/8/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 shellcheck=0.8.0 |
| 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
Apache-HBase commented on PR #6717:
URL: https://github.com/apache/hbase/pull/6717#issuecomment-2770384020
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 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-28957 Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 11s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 2m 11s | | HBASE-28957 passed |
| +1 :green_heart: | javadoc | 2m 26s | | HBASE-28957 passed |
| +1 :green_heart: | shadedjars | 6m 2s | | 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 3s | | the patch passed |
| +1 :green_heart: | compile | 2m 7s | | the patch passed |
| +1 :green_heart: | javac | 2m 7s | | the patch passed |
| +1 :green_heart: | javadoc | 2m 10s | | the patch passed |
| +1 :green_heart: | shadedjars | 5m 53s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| -1 :x: | unit | 350m 3s |
[/patch-unit-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/7/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-root.txt)
| root in the patch failed. |
| | | 384m 1s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/7/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6717 |
| JIRA Issue | HBASE-29133 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux eaa86a45a5b8 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-28957 / cf0f97ebd4c6c7b3ced7f97b7c11bc4a1a9b7828 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/7/testReport/
|
| Max. process+thread count | 5150 (vs. ulimit of 3) |
| modules | C: hbase-backup . U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
Apache-HBase commented on PR #6717:
URL: https://github.com/apache/hbase/pull/6717#issuecomment-2769353514
:confetti_ball: **+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: | shelldocs | 0m 0s | | Shelldocs 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-28957 Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 12s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 8m 3s | | HBASE-28957 passed |
| +1 :green_heart: | checkstyle | 1m 11s | | HBASE-28957 passed |
| +1 :green_heart: | spotbugs | 7m 55s | | HBASE-28957 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 4s | | the patch passed |
| +1 :green_heart: | compile | 8m 0s | | the patch passed |
| -0 :warning: | javac | 8m 0s |
[/results-compile-javac-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/7/artifact/yetus-general-check/output/results-compile-javac-root.txt)
| root generated 1 new + 1273 unchanged - 0 fixed = 1274 total (was 1273) |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 1m 9s |
[/buildtool-patch-checkstyle-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/7/artifact/yetus-general-check/output/buildtool-patch-checkstyle-root.txt)
| The patch fails to run checkstyle in root |
| +1 :green_heart: | shellcheck | 0m 1s | | No new issues. |
| +1 :green_heart: | spotbugs | 8m 17s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 11m 55s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | spotless | 0m 44s | | patch has no errors when
running spotless:check. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 20s | | The patch does not
generate ASF License warnings. |
| | | 63m 1s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/7/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6717 |
| JIRA Issue | HBASE-29133 |
| Optional Tests | dupname asflicense codespell detsecrets shellcheck
shelldocs spotless javac spotbugs checkstyle compile hadoopcheck hbaseanti |
| uname | Linux ea6bd2b72cf5 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-28957 / cf0f97ebd4c6c7b3ced7f97b7c11bc4a1a9b7828 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Max. process+thread count | 190 (vs. ulimit of 3) |
| modules | C: hbase-backup . U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/7/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 shellcheck=0.8.0 |
| 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
Apache-HBase commented on PR #6717:
URL: https://github.com/apache/hbase/pull/6717#issuecomment-2755113867
: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-28957 Compile Tests _ |
| +0 :ok: | mvndep | 0m 10s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 59s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 2m 28s | | HBASE-28957 passed |
| +1 :green_heart: | javadoc | 2m 36s | | HBASE-28957 passed |
| +1 :green_heart: | shadedjars | 6m 30s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 55s | | the patch passed |
| +1 :green_heart: | compile | 2m 54s | | the patch passed |
| +1 :green_heart: | javac | 2m 54s | | the patch passed |
| +1 :green_heart: | javadoc | 2m 37s | | the patch passed |
| +1 :green_heart: | shadedjars | 6m 36s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| -1 :x: | unit | 324m 51s |
[/patch-unit-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/6/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-root.txt)
| root in the patch failed. |
| | | 364m 15s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/6/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6717 |
| JIRA Issue | HBASE-29133 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 0321603f87fe 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-28957 / dc20fbe957936fc024e211c8c4cab85edace5097 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/6/testReport/
|
| Max. process+thread count | 5063 (vs. ulimit of 3) |
| modules | C: hbase-backup . U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
Apache-HBase commented on PR #6717:
URL: https://github.com/apache/hbase/pull/6717#issuecomment-2754134768
:confetti_ball: **+1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 27s | | 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: | shelldocs | 0m 0s | | Shelldocs 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-28957 Compile Tests _ |
| +0 :ok: | mvndep | 0m 10s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 12s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 7m 51s | | HBASE-28957 passed |
| +1 :green_heart: | checkstyle | 1m 10s | | HBASE-28957 passed |
| +1 :green_heart: | spotbugs | 7m 50s | | HBASE-28957 passed |
| +1 :green_heart: | spotless | 0m 44s | | 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 0s | | the patch passed |
| +1 :green_heart: | compile | 7m 50s | | the patch passed |
| -0 :warning: | javac | 7m 50s |
[/results-compile-javac-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/6/artifact/yetus-general-check/output/results-compile-javac-root.txt)
| root generated 1 new + 1273 unchanged - 0 fixed = 1274 total (was 1273) |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 1m 10s |
[/buildtool-patch-checkstyle-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/6/artifact/yetus-general-check/output/buildtool-patch-checkstyle-root.txt)
| The patch fails to run checkstyle in root |
| +1 :green_heart: | shellcheck | 0m 0s | | No new issues. |
| +1 :green_heart: | spotbugs | 8m 2s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 11m 48s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | spotless | 0m 44s | | patch has no errors when
running spotless:check. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 20s | | The patch does not
generate ASF License warnings. |
| | | 62m 3s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/6/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6717 |
| JIRA Issue | HBASE-29133 |
| Optional Tests | dupname asflicense codespell detsecrets shellcheck
shelldocs spotless javac spotbugs checkstyle compile hadoopcheck hbaseanti |
| uname | Linux b2c23608dc02 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-28957 / dc20fbe957936fc024e211c8c4cab85edace5097 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Max. process+thread count | 189 (vs. ulimit of 3) |
| modules | C: hbase-backup . U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/6/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 shellcheck=0.8.0 |
| 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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
Apache-HBase commented on PR #6717:
URL: https://github.com/apache/hbase/pull/6717#issuecomment-2680270812
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 29s | | 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-28957 Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 3m 10s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 2m 8s | | HBASE-28957 passed |
| +1 :green_heart: | javadoc | 2m 7s | | HBASE-28957 passed |
| +1 :green_heart: | shadedjars | 5m 49s | | branch has no errors when
building our shaded downstream artifacts. |
_ Patch Compile Tests _ |
| +0 :ok: | mvndep | 0m 11s | | Maven dependency ordering for patch |
| +1 :green_heart: | mvninstall | 3m 2s | | the patch passed |
| +1 :green_heart: | compile | 2m 13s | | the patch passed |
| +1 :green_heart: | javac | 2m 13s | | the patch passed |
| +1 :green_heart: | javadoc | 2m 27s | | the patch passed |
| +1 :green_heart: | shadedjars | 7m 7s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| -1 :x: | unit | 277m 49s |
[/patch-unit-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/1/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-root.txt)
| root in the patch failed. |
| | | 312m 10s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/1/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6717 |
| JIRA Issue | HBASE-29133 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 3b9e992d0499 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-28957 / 606ff9eb584d65c2d751fa34732f2bbec2c34f45 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/1/testReport/
|
| Max. process+thread count | 6055 (vs. ulimit of 3) |
| modules | C: hbase-backup . U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/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-29133: Implement "pitr" Command for Point-in-Time Restore [hbase]
Apache-HBase commented on PR #6717:
URL: https://github.com/apache/hbase/pull/6717#issuecomment-2679833313
:confetti_ball: **+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: | shelldocs | 0m 0s | | Shelldocs 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-28957 Compile Tests _ |
| +0 :ok: | mvndep | 0m 15s | | Maven dependency ordering for branch |
| +1 :green_heart: | mvninstall | 5m 3s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 12m 56s | | HBASE-28957 passed |
| +1 :green_heart: | checkstyle | 1m 51s | | HBASE-28957 passed |
| +1 :green_heart: | spotbugs | 11m 43s | | HBASE-28957 passed |
| +1 :green_heart: | spotless | 0m 52s | | 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 58s | | the patch passed |
| +1 :green_heart: | compile | 12m 28s | | the patch passed |
| -0 :warning: | javac | 12m 28s |
[/results-compile-javac-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/1/artifact/yetus-general-check/output/results-compile-javac-root.txt)
| root generated 1 new + 1281 unchanged - 0 fixed = 1282 total (was 1281) |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 1m 34s |
[/buildtool-patch-checkstyle-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/1/artifact/yetus-general-check/output/buildtool-patch-checkstyle-root.txt)
| The patch fails to run checkstyle in root |
| +1 :green_heart: | shellcheck | 0m 1s | | No new issues. |
| +1 :green_heart: | spotbugs | 12m 5s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 15m 53s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | spotless | 1m 8s | | patch has no errors when
running spotless:check. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 25s | | The patch does not
generate ASF License warnings. |
| | | 91m 20s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/1/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6717 |
| JIRA Issue | HBASE-29133 |
| Optional Tests | dupname asflicense codespell detsecrets shellcheck
shelldocs spotless javac spotbugs checkstyle compile hadoopcheck hbaseanti |
| uname | Linux 35ff8a72c6c1 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-28957 / 606ff9eb584d65c2d751fa34732f2bbec2c34f45 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Max. process+thread count | 188 (vs. ulimit of 3) |
| modules | C: hbase-backup . U: . |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6717/1/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 shellcheck=0.8.0 |
| 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]
