Re: [PR] HBASE-28990 Modify Incremental Backup for Continuous Backup [hbase]
taklwu merged PR #6788: URL: https://github.com/apache/hbase/pull/6788 -- 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-28990 Modify Incremental Backup for Continuous Backup [hbase]
taklwu commented on PR #6788: URL: https://github.com/apache/hbase/pull/6788#issuecomment-2992465467 @ankitsol before merging , can you double check `TestIncrementalBackup#TestIncBackupRestore` is passing at least in your local setup ? -- 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-28990 Modify Incremental Backup for Continuous Backup [hbase]
vinayakphegde commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2155028027
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -149,12 +149,20 @@ public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ // Gather the bulk loads being tracked by the system, which can be
deleted (since their data
+ // will be part of the snapshot being taken). We gather this list before
taking the actual
+ // snapshots for the same reason as the log rolls.
+ List bulkLoadsToDelete =
backupManager.readBulkloadRows(tableList);
Review Comment:
Makes sense — thanks for the discussion, folks! 👍
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
taklwu commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2153681156
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -149,12 +149,20 @@ public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ // Gather the bulk loads being tracked by the system, which can be
deleted (since their data
+ // will be part of the snapshot being taken). We gather this list before
taking the actual
+ // snapshots for the same reason as the log rolls.
+ List bulkLoadsToDelete =
backupManager.readBulkloadRows(tableList);
Review Comment:
so, maybe asking differently, is this a one-way approach for continuous
backup if we couple with the optimization of HBASE-29003 that reduce the
additional bulkload HFiles of the source cluster?
and without this change, or as @Kota-SH pointed about the if the source
cluster/directory is not accessible, which backup can we use ? especially can
we still have incremental recovery?
My two cents on this approach, building on top of HBASE-29003, is that it
seems reasonable. at least incremental backup already has this code change that
uses the source cluster/storage. I was wondered the feedback on the design docs
is also suggesting us to work closer with the logic of incremental backup, and
such we could avoid introducing similar logic but in fact is serving the same
thing.
Meanwhile, it's worth thinking of
a. the original plan that copies all the bulkloaded HFiles in between a
incremental backup was too slow, other than this approach, do we have any
alternative?
b. are we 100% against the continuous backup reads HFiles/bulkload HFiles
from the source storage? HBASE-29003 made a very good point about storage
usage, especially the HDFS use cases with 3 replicas.
---
point 3 and 4, I assumed @ankitsol already answered, so I don't have
comments.
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2152621143
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -149,12 +149,20 @@ public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ // Gather the bulk loads being tracked by the system, which can be
deleted (since their data
+ // will be part of the snapshot being taken). We gather this list before
taking the actual
+ // snapshots for the same reason as the log rolls.
+ List bulkLoadsToDelete =
backupManager.readBulkloadRows(tableList);
Review Comment:
@Kota-SH Post bulkload operation, user is advised to take a backup, as part
of continuous backup and PITR design (I think this is not yet documented, I
will add a comment in design to add this part)
Earlier we implemented WALPlayer with bulkload restore functionality but
that could have resulted in timeouts or performance issues, so we dropped
WALPlayer implementation and decided to ask user to take a backup (ideally
incremental backup) post a bulkload operation so restore is fast
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2152638968
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -149,12 +149,20 @@ public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ // Gather the bulk loads being tracked by the system, which can be
deleted (since their data
+ // will be part of the snapshot being taken). We gather this list before
taking the actual
+ // snapshots for the same reason as the log rolls.
+ List bulkLoadsToDelete =
backupManager.readBulkloadRows(tableList);
Review Comment:
@Kota-SH Regarding compaction, there is preCommitStoreFile() hook which
registers these bulkloaded files in backup system table and avoids deletion
during compaction
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2152621143
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -149,12 +149,20 @@ public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ // Gather the bulk loads being tracked by the system, which can be
deleted (since their data
+ // will be part of the snapshot being taken). We gather this list before
taking the actual
+ // snapshots for the same reason as the log rolls.
+ List bulkLoadsToDelete =
backupManager.readBulkloadRows(tableList);
Review Comment:
@Kota-SH Post bulkload operation, user is advised to take a backup, as part
of continuous backup and PITR design (I think this is not yet documented, I
will add a comment in design to add this part)
Earlier we implemented WALPlayer with bulkload restore functionality but
that could have resulted in timeouts or performance issues, so we dropped this
WALPlayer modification and decided to ask user to take a backup (ideally
incremental backup) post a bulkload operation so restore is fast
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2152621143
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -149,12 +149,20 @@ public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ // Gather the bulk loads being tracked by the system, which can be
deleted (since their data
+ // will be part of the snapshot being taken). We gather this list before
taking the actual
+ // snapshots for the same reason as the log rolls.
+ List bulkLoadsToDelete =
backupManager.readBulkloadRows(tableList);
Review Comment:
@Kota-SH Post bulkload operation, user is advised to take a backup, as part
of contiuous backup and pitr design (I think this is not yet documented, I will
add a comment in design to add this part)
Earlier we implemented WALPlayer with bulkload restore functionality but
that could have resulted in timeouts or performance issues, so we dropped
WALPlayer implementation and decided to ask user to take a backup (ideally
incremental backup) post a bulkload operation so restore is fast
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
Kota-SH commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2152443777
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -149,12 +149,20 @@ public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ // Gather the bulk loads being tracked by the system, which can be
deleted (since their data
+ // will be part of the snapshot being taken). We gather this list before
taking the actual
+ // snapshots for the same reason as the log rolls.
+ List bulkLoadsToDelete =
backupManager.readBulkloadRows(tableList);
Review Comment:
I think the question is what happens if the source cluster/storage is gone
and users need a DR?
We could still get back data from snapshots and WALs from the external
storage. Is there a way to restore the bulkloads in such a situation?
Also, what happens if those bulkload hfiles are compacted? Do we track it
somewhere?
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2149561312
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -149,12 +149,20 @@ public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ // Gather the bulk loads being tracked by the system, which can be
deleted (since their data
+ // will be part of the snapshot being taken). We gather this list before
taking the actual
+ // snapshots for the same reason as the log rolls.
+ List bulkLoadsToDelete =
backupManager.readBulkloadRows(tableList);
Review Comment:
For 1) & 2) points I see 2 advantages with the coded approach in this PR.
First, this behaviour would be same for both continuous and non-continuous
incremental backup (ie using bulkload files from source cluster). Second, using
source cluster hfiles wrt bulkload operation instead of backup hfiles would
reduce processing time during backup and cost of storage space of backup area.
Backing up bulkload operation would also delay backup of WALs since backing up
WALs and bulkload files are serial in execution.
Backing bulkload files idea was necessary when we were planning to use
WALPlayer with bulkload restore capability. Now I don't see any advantage of
backing up of bulkload files
3) BackupObserver.preCommitStoreFile() in invoked only for bulkload
operation so for bulkloaded hfiles only one time copy happens.
4) This code actually resolves a bug for properly handling of bulkload
operation, no modification of core logic although it might seem like.
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2149561312
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -149,12 +149,20 @@ public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ // Gather the bulk loads being tracked by the system, which can be
deleted (since their data
+ // will be part of the snapshot being taken). We gather this list before
taking the actual
+ // snapshots for the same reason as the log rolls.
+ List bulkLoadsToDelete =
backupManager.readBulkloadRows(tableList);
Review Comment:
For 1) & 2) points I see 2 advantages with the coded approach in this PR.
First, this behaviour would be same for both continuous and non-continuous
incremental backup (ie using bulkload files from source cluster). Second, using
source cluster hfiles wrt bulkload operation instead of backup hfiles would
reduce processing time during backup and cost of storage space of backup area.
Backing up bulkload operation would also delay backup of WALs since backing up
WALs and bulkload files are serial in execution.
Backing bulkload files idea was necessary when we were planning to use
WALPlayer with bulkload restore capability. Now I don't see any advantage of
backing up of bulkload files
3) BackupObserver.preCommitStoreFile() in invoked only for bulkload
operation so for bulkloaded hfiles only one time copy happens.
4) This code actually resolves a bug for properly handling of bulkload
operation, no modification of core logic although it might like.
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2149561312
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -149,12 +149,20 @@ public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ // Gather the bulk loads being tracked by the system, which can be
deleted (since their data
+ // will be part of the snapshot being taken). We gather this list before
taking the actual
+ // snapshots for the same reason as the log rolls.
+ List bulkLoadsToDelete =
backupManager.readBulkloadRows(tableList);
Review Comment:
For 1) & 2) points I see 2 advantages with the coded approach in this PR.
First, this behaviour would be same for both continuous and non-continuous
incremental backup (ie using bulkload files from source cluster). Second, using
source cluster hfiles wrt bulkload operation instead of backup hfiles would
reduce processing time during backup and cost of storage space of backup area.
Backing up bulkload operation would also delay backup of WALs since backing up
WALs and bulkload files are serial in execution.
Backing bulkload files idea was necessary when we were planning to use
WALPlayer with bulkload restore capability. Now I don't see any advantage of
backing up of bulkload files
3) BackupObserver.preCommitStoreFile() in invoked only for bulkload
operation so for bulkloaded hfiles only one time copy happens.
4) This code actually resolves a bug for properly handling of bulkload
operation, no modification of core logic.
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2149561312
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -149,12 +149,20 @@ public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ // Gather the bulk loads being tracked by the system, which can be
deleted (since their data
+ // will be part of the snapshot being taken). We gather this list before
taking the actual
+ // snapshots for the same reason as the log rolls.
+ List bulkLoadsToDelete =
backupManager.readBulkloadRows(tableList);
Review Comment:
For 1) & 2) points I see 2 advantages with the coded approach in this PR.
First, this behaviour would be same for both continuous and non-continuous
incremental backup (ie using bulkload files from source cluster). Second, using
source cluster hfiles wrt bulkload operation instead of backup hfiles would
reduce processing time and cost of storage space of backup area. Backing up
bulkload operation would also delay backup of WALs since backing up WALs and
bulkload files are serial in execution.
Backing bulkload files idea was necessary when we were planning to use
WALPlayer with bulkload restore capability. Now I don't see any advantage of
backing up of bulkload files
3) BackupObserver.preCommitStoreFile() in invoked only for bulkload
operation so for bulkloaded hfiles only one time copy happens.
4) This code actually resolves a bug for properly handling of bulkload
operation, no modification of core logic.
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2149561312
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -149,12 +149,20 @@ public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ // Gather the bulk loads being tracked by the system, which can be
deleted (since their data
+ // will be part of the snapshot being taken). We gather this list before
taking the actual
+ // snapshots for the same reason as the log rolls.
+ List bulkLoadsToDelete =
backupManager.readBulkloadRows(tableList);
Review Comment:
1) & 2) I see 2 advantages with the coded approach in this PR. First, this
behaviour would be same for both continuous and non-continuous incremental
backup (ie using bulkload files from source cluster). Second, using source
cluster hfiles wrt bulkload operation instead of backup hfiles would reduce
processing time and cost of storage space of backup area. Backing up bulkload
operation would also delay backup of WALs since backing up WALs and bulkload
files are serial in execution.
Backing bulkload files idea was necessary when we were planning to use
WALPlayer with bulkload restore capability. Now I don't see any advantage of
backing up of bulkload files
3) BackupObserver.preCommitStoreFile() in invoked only for bulkload
operation so for bulkloaded hfiles only one time copy happens.
4) This code actually resolves a bug for properly handling of bulkload
operation, no modification of core logic.
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
vinayakphegde commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2149351693
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -149,12 +149,20 @@ public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ // Gather the bulk loads being tracked by the system, which can be
deleted (since their data
+ // will be part of the snapshot being taken). We gather this list before
taking the actual
+ // snapshots for the same reason as the log rolls.
+ List bulkLoadsToDelete =
backupManager.readBulkloadRows(tableList);
Review Comment:
Okay, I have a few questions:
1. Why is this needed? Can’t we get the bulk loaded files from the backup
location, just like we do with WAL files? Why not handle bulkload files the
same way?
2. Also, one thing I noticed — by default, when backup is enabled in the
cluster, we start accumulating all HFiles (both store files and bulkloaded
files) using BackupObserver. These files are registered under bulkLoadTableName
to prevent cleaner chores from deleting them during incremental backups, etc.
But in our case, we don’t want this behavior, right? The whole idea is to back
up files into the backup location, not retain them on the source cluster. I
think we should enable BackupObserver only for the traditional (non-continuous)
backup path. Otherwise, we’re unnecessarily accumulating files in the source
cluster.
3. I also noticed this:
- In [this
code](https://github.com/apache/hbase/blob/master/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.java#L290-L292),
we read all WAL files since the last backup, convert them to HFiles, and store
them in the backup location.
- Again, in [this
line](https://github.com/apache/hbase/blob/master/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.java#L319),
we’re reading bulkloaded files from the table and backing them up.
- However, the list of bulkloaded files also includes regular store files —
as seen
[here](https://github.com/apache/hbase/blob/28c757d45aa1797bbee6892433aec16a460e765e/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/BackupObserver.java#L75)
— which means we’re potentially processing normal HFiles twice?
4. Regarding: “I added here because it was necessary for the bulkload test I
added”. -- ideally, we shouldn’t modify core logic only to support a specific
test case. It might be better to adapt the test to the intended behavior.
@anmolnar @kgeisz @taklwu — please share your thoughts 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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2149007153
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -149,12 +149,20 @@ public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ // Gather the bulk loads being tracked by the system, which can be
deleted (since their data
+ // will be part of the snapshot being taken). We gather this list before
taking the actual
+ // snapshots for the same reason as the log rolls.
+ List bulkLoadsToDelete =
backupManager.readBulkloadRows(tableList);
Review Comment:
This is needed so subsequent incremental backup (just after this full
backup) captures only bulkload from this full backup, so fullbackup deletes
existing bulkload entries from system table
So an incremental backup post a full backup will capture only bulkload
entries from fullbackup
This change is actually part of
https://github.com/apache/hbase/pull/6506/files#diff-18c753bdf4ce717d55d98646bf46723970d2bd4a470a815eb9512c7d94398274
which is merged, I added here because it was necessary for bulkload test I
added
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
vinayakphegde commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2143289259
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -149,12 +149,20 @@ public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ // Gather the bulk loads being tracked by the system, which can be
deleted (since their data
+ // will be part of the snapshot being taken). We gather this list before
taking the actual
+ // snapshots for the same reason as the log rolls.
+ List bulkLoadsToDelete =
backupManager.readBulkloadRows(tableList);
Review Comment:
I couldn’t quite figure out why this step is needed. Could you please
explain the reasoning behind it?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
Re: [PR] HBASE-28990 Modify Incremental Backup for Continuous Backup [hbase]
kgeisz commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2141129199
##
hbase-backup/src/test/java/org/apache/hadoop/hbase/backup/TestIncrementalBackupWithContinuous.java:
##
@@ -0,0 +1,254 @@
+/*
+ * 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.replication.regionserver.ReplicationMarkerChore.REPLICATION_MARKER_ENABLED_DEFAULT;
+import static
org.apache.hadoop.hbase.replication.regionserver.ReplicationMarkerChore.REPLICATION_MARKER_ENABLED_KEY;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.CellUtil;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.backup.impl.BackupAdminImpl;
+import org.apache.hadoop.hbase.backup.impl.BackupManifest;
+import org.apache.hadoop.hbase.backup.impl.BackupSystemTable;
+import org.apache.hadoop.hbase.backup.impl.BulkLoad;
+import org.apache.hadoop.hbase.backup.util.BackupUtils;
+import org.apache.hadoop.hbase.client.Get;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.Result;
+import org.apache.hadoop.hbase.client.Table;
+import org.apache.hadoop.hbase.testclassification.LargeTests;
+import org.apache.hadoop.hbase.tool.BulkLoadHFiles;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.HFileTestUtil;
+import org.apache.hadoop.util.ToolRunner;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.hbase.thirdparty.com.google.common.collect.Sets;
+
+@Category(LargeTests.class)
+public class TestIncrementalBackupWithContinuous extends TestContinuousBackup {
+
+ @ClassRule
+ public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestIncrementalBackupWithContinuous.class);
+
+ private static final Logger LOG =
+LoggerFactory.getLogger(TestIncrementalBackupWithContinuous.class);
+
+ private byte[] ROW = Bytes.toBytes("row1");
+ private final byte[] FAMILY = Bytes.toBytes("family");
+ private final byte[] COLUMN = Bytes.toBytes("col");
+ private static final int ROWS_IN_BULK_LOAD = 100;
+
+ @Test
+ public void testContinuousBackupWithIncrementalBackupSuccess() throws
Exception {
+LOG.info("Testing incremental backup with continuous backup");
+conf1.setBoolean(REPLICATION_MARKER_ENABLED_KEY, true);
+String methodName =
Thread.currentThread().getStackTrace()[1].getMethodName();
+TableName tableName = TableName.valueOf("table_" + methodName);
+Table t1 = TEST_UTIL.createTable(tableName, FAMILY);
+
+try (BackupSystemTable table = new
BackupSystemTable(TEST_UTIL.getConnection())) {
+ int before = table.getBackupHistory().size();
+
+ // Run continuous backup
+ String[] args = buildBackupArgs("full", new TableName[] { tableName },
true);
+ int ret = ToolRunner.run(conf1, new BackupDriver(), args);
+ assertEquals("Full Backup should succeed", 0, ret);
+
+ // Verify backup history increased and all the backups are succeeded
+ LOG.info("Verify backup history increased and all the backups are
succeeded");
+ List backups = table.getBackupHistory();
+ assertEquals("Backup history should increase", before + 1,
backups.size());
+ for (BackupInfo data : List.of(backups.get(0))) {
+String backupId = data.getBackupId();
+assertTrue(checkSucceeded(backupId));
+ }
+
+ // Verify backup manifest contains the correct tables
+ LOG.info("Verify backup manifest contains the correct tables");
+ BackupManifest manifest = getLatest
Re: [PR] HBASE-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on PR #6788: URL: https://github.com/apache/hbase/pull/6788#issuecomment-2948849540 > can you check those failing tests of `TestIncrementalBackup` ? @taklwu TestIncrementalBackup has 2 flaky tests (TestIncBackupRestoreWithOriginalSplits and TestIncBackupRestore), there are other JIRAs tracking this test like [HBASE-28461](https://issues.apache.org/jira/browse/HBASE-28461) I have ran these test without my change with same failure -- 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-28990 Modify Incremental Backup for Continuous Backup [hbase]
Apache-HBase commented on PR #6788:
URL: https://github.com/apache/hbase/pull/6788#issuecomment-2947674305
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 45s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 3s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-28957 Compile Tests _ |
| +1 :green_heart: | mvninstall | 3m 37s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 0m 26s | | HBASE-28957 passed |
| +1 :green_heart: | javadoc | 0m 15s | | HBASE-28957 passed |
| +1 :green_heart: | shadedjars | 7m 1s | | branch has no errors when
building our shaded downstream artifacts. |
| -0 :warning: | patch | 7m 11s | | Used diff version of patch file.
Binary files and potentially other changes not applied. Please rebase and
squash commits if necessary. |
_ Patch Compile Tests _ |
| +1 :green_heart: | mvninstall | 3m 52s | | the patch passed |
| +1 :green_heart: | compile | 0m 23s | | the patch passed |
| +1 :green_heart: | javac | 0m 23s | | the patch passed |
| +1 :green_heart: | javadoc | 0m 16s | | the patch passed |
| +1 :green_heart: | shadedjars | 6m 53s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| -1 :x: | unit | 23m 10s |
[/patch-unit-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/8/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-backup.txt)
| hbase-backup in the patch failed. |
| | | 47m 46s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/8/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6788 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux bbb94d8941b5 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 / 64fd7b82065725eaa59bb23cdcc510bc5fa677a7 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/8/testReport/
|
| Max. process+thread count | 3762 (vs. ulimit of 3) |
| modules | C: hbase-backup U: hbase-backup |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/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-28990 Modify Incremental Backup for Continuous Backup [hbase]
Apache-HBase commented on PR #6788:
URL: https://github.com/apache/hbase/pull/6788#issuecomment-2947652567
:confetti_ball: **+1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 39s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +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 _ |
| +1 :green_heart: | mvninstall | 4m 32s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 0m 38s | | HBASE-28957 passed |
| -0 :warning: | checkstyle | 0m 16s |
[/buildtool-branch-checkstyle-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/8/artifact/yetus-general-check/output/buildtool-branch-checkstyle-hbase-backup.txt)
| The patch fails to run checkstyle in hbase-backup |
| +1 :green_heart: | spotbugs | 0m 46s | | HBASE-28957 passed |
| +1 :green_heart: | spotless | 1m 2s | | branch has no errors when
running spotless:check. |
| -0 :warning: | patch | 1m 11s | | Used diff version of patch file.
Binary files and potentially other changes not applied. Please rebase and
squash commits if necessary. |
_ Patch Compile Tests _ |
| +1 :green_heart: | mvninstall | 4m 22s | | the patch passed |
| +1 :green_heart: | compile | 0m 41s | | the patch passed |
| -0 :warning: | javac | 0m 41s |
[/results-compile-javac-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/8/artifact/yetus-general-check/output/results-compile-javac-hbase-backup.txt)
| hbase-backup generated 2 new + 109 unchanged - 0 fixed = 111 total (was
109) |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 12s |
[/buildtool-patch-checkstyle-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/8/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-backup.txt)
| The patch fails to run checkstyle in hbase-backup |
| +1 :green_heart: | spotbugs | 0m 58s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 16m 42s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | spotless | 1m 11s | | patch has no errors when
running spotless:check. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 14s | | The patch does not
generate ASF License warnings. |
| | | 42m 32s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/8/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6788 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless |
| uname | Linux 13822d3ad071 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 / 64fd7b82065725eaa59bb23cdcc510bc5fa677a7 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Max. process+thread count | 83 (vs. ulimit of 3) |
| modules | C: hbase-backup U: hbase-backup |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/8/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 |
| 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-28990 Modify Incremental Backup for Continuous Backup [hbase]
taklwu commented on PR #6788: URL: https://github.com/apache/hbase/pull/6788#issuecomment-2945908145 can you check those failing tests of `TestIncrementalBackup` ? -- 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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2129214025
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.java:
##
@@ -262,9 +273,18 @@ public void execute() throws IOException,
ColumnFamilyMismatchException {
// case PREPARE_INCREMENTAL:
beginBackup(backupManager, backupInfo);
backupInfo.setPhase(BackupPhase.PREPARE_INCREMENTAL);
- LOG.debug("For incremental backup, current table set is "
-+ backupManager.getIncrementalBackupTableSet());
- newTimestamps = ((IncrementalBackupManager)
backupManager).getIncrBackupLogFileMap();
+ // Non-continuous Backup incremental backup is controlled by
'incremental backup table set'
+ // and not by user provided backup table list. This is an optimization
to avoid copying
+ // the same set of WALs for incremental backups of different tables at
different time
+ // HBASE-14038
+ // Continuous-incremental backup backs up user provided table list/set
+ if (backupInfo.isContinuousBackupEnabled()) {
+LOG.debug("For incremental backup, current table set is " +
backupInfo.getTables());
+ } else {
+LOG.debug("For incremental backup, current table set is "
+ + backupManager.getIncrementalBackupTableSet());
+newTimestamps = ((IncrementalBackupManager)
backupManager).getIncrBackupLogFileMap();
+ }
Review Comment:
Fixed
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2129211091
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.java:
##
@@ -362,23 +378,86 @@ protected void deleteBulkLoadDirectory() throws
IOException {
}
protected void convertWALsToHFiles() throws IOException {
-// get incremental backup file list and prepare parameters for DistCp
-List incrBackupFileList = backupInfo.getIncrBackupFileList();
-// Get list of tables in incremental backup set
-Set tableSet = backupManager.getIncrementalBackupTableSet();
-// filter missing files out (they have been copied by previous backups)
-incrBackupFileList = filterMissingFiles(incrBackupFileList);
-List tableList = new ArrayList();
-for (TableName table : tableSet) {
- // Check if table exists
- if (tableExists(table, conn)) {
-tableList.add(table.getNameAsString());
- } else {
-LOG.warn("Table " + table + " does not exists. Skipping in WAL
converter");
+if (backupInfo.isContinuousBackupEnabled()) {
+ Set tableSet = backupInfo.getTables();
+ List backupInfos = backupManager.getBackupHistory(true);
+ for (TableName table : tableSet) {
+for (BackupInfo backup : backupInfos) {
+ // find previous backup for this table
+ if (backup.getTables().contains(table)) {
+LOG.info("Found previous backup of type {} with id {} for table
{}", backup.getType(),
+ backup.getBackupId(), table.getNameAsString());
+List walBackupFileList;
+if (backup.getType() == BackupType.FULL) {
+ walBackupFileList = getBackupLogs(backup.getStartTs());
+} else {
+ walBackupFileList =
getBackupLogs(backup.getIncrCommittedWalTs());
+}
+walToHFiles(walBackupFileList,
Arrays.asList(table.getNameAsString()));
+break;
+ }
+}
+ }
+} else {
+ // get incremental backup file list and prepare parameters for DistCp
+ List incrBackupFileList = backupInfo.getIncrBackupFileList();
+ // Get list of tables in incremental backup set
+ Set tableSet = backupManager.getIncrementalBackupTableSet();
+ // filter missing files out (they have been copied by previous backups)
+ incrBackupFileList = filterMissingFiles(incrBackupFileList);
+ List tableList = new ArrayList();
+ for (TableName table : tableSet) {
+// Check if table exists
+if (tableExists(table, conn)) {
+ tableList.add(table.getNameAsString());
+} else {
+ LOG.warn("Table " + table + " does not exists. Skipping in WAL
converter");
+}
}
+ walToHFiles(incrBackupFileList, tableList);
}
-walToHFiles(incrBackupFileList, tableList);
+ }
+
+ private List getBackupLogs(long startTs) throws IOException {
+// get log files from backup dir
+String walBackupDir = conf.get(CONF_CONTINUOUS_BACKUP_WAL_DIR);
+if (walBackupDir == null || walBackupDir.isEmpty()) {
+ throw new IOException(
+"Incremental backup requires the WAL backup directory " +
CONF_CONTINUOUS_BACKUP_WAL_DIR);
+}
+List resultLogFiles = new ArrayList<>();
+Path walBackupPath = new Path(walBackupDir);
+FileSystem backupFs = FileSystem.get(walBackupPath.toUri(), conf);
+FileStatus[] dayDirs = backupFs.listStatus(new Path(walBackupDir,
WALS_DIR));
+SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
+
+for (FileStatus dayDir : dayDirs) {
+ if (!dayDir.isDirectory()) {
+continue; // Skip files, only process directories
+ }
+ String dirName = dayDir.getPath().getName();
+ try {
+Date dirDate = dateFormat.parse(dirName);
+long dirStartTime = dirDate.getTime(); // Start of that day (00:00:00)
+long dirEndTime = dirStartTime + ONE_DAY_IN_MILLISECONDS - 1; // End
time of the day
+// (23:59:59)
+
+if (dirEndTime >= startTs) {
+ Path dirPath = dayDir.getPath();
+ FileStatus[] logs = backupFs.listStatus(dirPath);
+ ;
+ for (FileStatus log : logs) {
+String filepath = log.getPath().toString();
+LOG.debug("currentLogFile: " + filepath);
+resultLogFiles.add(filepath);
+ }
+}
Review Comment:
Right, good point
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2129210287
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.java:
##
@@ -362,23 +378,86 @@ protected void deleteBulkLoadDirectory() throws
IOException {
}
protected void convertWALsToHFiles() throws IOException {
-// get incremental backup file list and prepare parameters for DistCp
-List incrBackupFileList = backupInfo.getIncrBackupFileList();
-// Get list of tables in incremental backup set
-Set tableSet = backupManager.getIncrementalBackupTableSet();
-// filter missing files out (they have been copied by previous backups)
-incrBackupFileList = filterMissingFiles(incrBackupFileList);
-List tableList = new ArrayList();
-for (TableName table : tableSet) {
- // Check if table exists
- if (tableExists(table, conn)) {
-tableList.add(table.getNameAsString());
- } else {
-LOG.warn("Table " + table + " does not exists. Skipping in WAL
converter");
+if (backupInfo.isContinuousBackupEnabled()) {
+ Set tableSet = backupInfo.getTables();
+ List backupInfos = backupManager.getBackupHistory(true);
+ for (TableName table : tableSet) {
+for (BackupInfo backup : backupInfos) {
+ // find previous backup for this table
+ if (backup.getTables().contains(table)) {
+LOG.info("Found previous backup of type {} with id {} for table
{}", backup.getType(),
+ backup.getBackupId(), table.getNameAsString());
+List walBackupFileList;
+if (backup.getType() == BackupType.FULL) {
+ walBackupFileList = getBackupLogs(backup.getStartTs());
+} else {
+ walBackupFileList =
getBackupLogs(backup.getIncrCommittedWalTs());
+}
+walToHFiles(walBackupFileList,
Arrays.asList(table.getNameAsString()));
+break;
+ }
+}
+ }
+} else {
+ // get incremental backup file list and prepare parameters for DistCp
+ List incrBackupFileList = backupInfo.getIncrBackupFileList();
+ // Get list of tables in incremental backup set
+ Set tableSet = backupManager.getIncrementalBackupTableSet();
+ // filter missing files out (they have been copied by previous backups)
+ incrBackupFileList = filterMissingFiles(incrBackupFileList);
+ List tableList = new ArrayList();
+ for (TableName table : tableSet) {
+// Check if table exists
+if (tableExists(table, conn)) {
+ tableList.add(table.getNameAsString());
+} else {
+ LOG.warn("Table " + table + " does not exists. Skipping in WAL
converter");
+}
}
+ walToHFiles(incrBackupFileList, tableList);
}
-walToHFiles(incrBackupFileList, tableList);
+ }
+
+ private List getBackupLogs(long startTs) throws IOException {
+// get log files from backup dir
+String walBackupDir = conf.get(CONF_CONTINUOUS_BACKUP_WAL_DIR);
+if (walBackupDir == null || walBackupDir.isEmpty()) {
+ throw new IOException(
+"Incremental backup requires the WAL backup directory " +
CONF_CONTINUOUS_BACKUP_WAL_DIR);
+}
+List resultLogFiles = new ArrayList<>();
+Path walBackupPath = new Path(walBackupDir);
+FileSystem backupFs = FileSystem.get(walBackupPath.toUri(), conf);
+FileStatus[] dayDirs = backupFs.listStatus(new Path(walBackupDir,
WALS_DIR));
+SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
Review Comment:
Yes, here I have fixed, we need to do same at other places
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2129209021
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -148,13 +148,16 @@ protected void snapshotCopy(BackupInfo backupInfo) throws
IOException {
public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ initializeBackupStartCode(backupManager);
+ performLogRoll(admin);
Review Comment:
Not needed, removed
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2129207952
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.java:
##
@@ -565,7 +584,7 @@ public String backupTables(BackupRequest request) throws
IOException {
}
}
if (nonExistingTableList != null) {
-if (type == BackupType.INCREMENTAL) {
+if (type == BackupType.INCREMENTAL &&
!request.isContinuousBackupEnabled()) {
Review Comment:
Sure
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788: URL: https://github.com/apache/hbase/pull/6788#discussion_r2129206236 ## hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/TableBackupClient.java: ## @@ -112,7 +113,9 @@ protected void beginBackup(BackupManager backupManager, BackupInfo backupInfo) backupManager.setBackupInfo(backupInfo); // set the start timestamp of the overall backup long startTs = EnvironmentEdgeManager.currentTime(); +long committedWALsTs = BackupUtils.getReplicationCheckpoint(conn); Review Comment: Makes sense, skipped -- 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-28990 Modify Incremental Backup for Continuous Backup [hbase]
Apache-HBase commented on PR #6788:
URL: https://github.com/apache/hbase/pull/6788#issuecomment-2942705412
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 44s | | 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 _ |
| +1 :green_heart: | mvninstall | 4m 12s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 0m 19s | | HBASE-28957 passed |
| +1 :green_heart: | javadoc | 0m 16s | | HBASE-28957 passed |
| +1 :green_heart: | shadedjars | 6m 4s | | branch has no errors when
building our shaded downstream artifacts. |
| -0 :warning: | patch | 6m 12s | | Used diff version of patch file.
Binary files and potentially other changes not applied. Please rebase and
squash commits if necessary. |
_ Patch Compile Tests _ |
| +1 :green_heart: | mvninstall | 3m 10s | | the patch passed |
| +1 :green_heart: | compile | 0m 19s | | the patch passed |
| +1 :green_heart: | javac | 0m 19s | | the patch passed |
| +1 :green_heart: | javadoc | 0m 13s | | the patch passed |
| +1 :green_heart: | shadedjars | 5m 59s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| -1 :x: | unit | 22m 18s |
[/patch-unit-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/7/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-backup.txt)
| hbase-backup in the patch failed. |
| | | 44m 58s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/7/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6788 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 6880c3f19d15 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 / 64fd7b82065725eaa59bb23cdcc510bc5fa677a7 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/7/testReport/
|
| Max. process+thread count | 3734 (vs. ulimit of 3) |
| modules | C: hbase-backup U: hbase-backup |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/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-28990 Modify Incremental Backup for Continuous Backup [hbase]
Apache-HBase commented on PR #6788:
URL: https://github.com/apache/hbase/pull/6788#issuecomment-2942684399
: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.
|
| +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 _ |
| +1 :green_heart: | mvninstall | 3m 53s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 0m 32s | | HBASE-28957 passed |
| -0 :warning: | checkstyle | 0m 10s |
[/buildtool-branch-checkstyle-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/7/artifact/yetus-general-check/output/buildtool-branch-checkstyle-hbase-backup.txt)
| The patch fails to run checkstyle in hbase-backup |
| +1 :green_heart: | spotbugs | 0m 34s | | HBASE-28957 passed |
| +1 :green_heart: | spotless | 0m 47s | | branch has no errors when
running spotless:check. |
| -0 :warning: | patch | 0m 54s | | Used diff version of patch file.
Binary files and potentially other changes not applied. Please rebase and
squash commits if necessary. |
_ Patch Compile Tests _ |
| +1 :green_heart: | mvninstall | 3m 2s | | the patch passed |
| +1 :green_heart: | compile | 0m 29s | | the patch passed |
| -0 :warning: | javac | 0m 29s |
[/results-compile-javac-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/7/artifact/yetus-general-check/output/results-compile-javac-hbase-backup.txt)
| hbase-backup generated 2 new + 109 unchanged - 0 fixed = 111 total (was
109) |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 9s |
[/buildtool-patch-checkstyle-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/7/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-backup.txt)
| The patch fails to run checkstyle in hbase-backup |
| +1 :green_heart: | spotbugs | 0m 35s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 12m 9s | | 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 9s | | The patch does not
generate ASF License warnings. |
| | | 31m 33s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/7/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6788 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless |
| uname | Linux 4f904cfc4259 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 / 64fd7b82065725eaa59bb23cdcc510bc5fa677a7 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Max. process+thread count | 81 (vs. ulimit of 3) |
| modules | C: hbase-backup U: hbase-backup |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/7/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 |
| 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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2117693576
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.java:
##
@@ -517,28 +517,47 @@ public String backupTables(BackupRequest request) throws
IOException {
String backupId = BackupRestoreConstants.BACKUPID_PREFIX +
EnvironmentEdgeManager.currentTime();
if (type == BackupType.INCREMENTAL) {
- Set incrTableSet;
- try (BackupSystemTable table = new BackupSystemTable(conn)) {
-incrTableSet = table.getIncrementalBackupTableSet(targetRootDir);
- }
+ if (request.isContinuousBackupEnabled()) {
+Set continuousBackupTableSet;
+try (BackupSystemTable table = new BackupSystemTable(conn)) {
+ continuousBackupTableSet =
table.getContinuousBackupTableSet().keySet();
+}
+if (continuousBackupTableSet.isEmpty()) {
+ String msg = "Continuous backup table set contains no tables. "
++ "You need to run Continuous backup first "
++ (tableList != null ? "on " + StringUtils.join(tableList, ",") :
"");
+ throw new IOException(msg);
+}
+if (!continuousBackupTableSet.containsAll(tableList)) {
+ String extraTables = StringUtils.join(tableList, ",");
+ String msg = "Some tables (" + extraTables + ") haven't gone through
Continuous backup. "
++ "Perform Continuous backup on " + extraTables + " first, " +
"then retry the command";
+ throw new IOException(msg);
+}
+ } else {
+Set incrTableSet;
+try (BackupSystemTable table = new BackupSystemTable(conn)) {
+ incrTableSet = table.getIncrementalBackupTableSet(targetRootDir);
+}
- if (incrTableSet.isEmpty()) {
-String msg =
- "Incremental backup table set contains no tables. " + "You need to
run full backup first "
+if (incrTableSet.isEmpty()) {
+ String msg = "Incremental backup table set contains no tables. "
++ "You need to run full backup first "
+ (tableList != null ? "on " + StringUtils.join(tableList, ",") :
"");
-throw new IOException(msg);
- }
- if (tableList != null) {
-tableList.removeAll(incrTableSet);
-if (!tableList.isEmpty()) {
- String extraTables = StringUtils.join(tableList, ",");
- String msg = "Some tables (" + extraTables + ") haven't gone through
full backup. "
-+ "Perform full backup on " + extraTables + " first, " + "then
retry the command";
throw new IOException(msg);
}
+if (tableList != null) {
+ tableList.removeAll(incrTableSet);
+ if (!tableList.isEmpty()) {
+String extraTables = StringUtils.join(tableList, ",");
+String msg = "Some tables (" + extraTables + ") haven't gone
through full backup. "
+ + "Perform full backup on " + extraTables + " first, " + "then
retry the command";
+throw new IOException(msg);
+ }
+}
+tableList = Lists.newArrayList(incrTableSet);
Review Comment:
Reason: [HBASE-14038] The incremental backup is controlled by the
'incremental backup table set'.
For example, if the table set contains (table1, table2, table3). Incremental
backup will back up the WALs, which cover all the tables in the table set.
It is to avoid copying the same set of WALs, which would the likely case if
you backup up table1, then backup table2.
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2117693722
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.java:
##
@@ -262,9 +271,13 @@ public void execute() throws IOException,
ColumnFamilyMismatchException {
// case PREPARE_INCREMENTAL:
beginBackup(backupManager, backupInfo);
backupInfo.setPhase(BackupPhase.PREPARE_INCREMENTAL);
- LOG.debug("For incremental backup, current table set is "
-+ backupManager.getIncrementalBackupTableSet());
- newTimestamps = ((IncrementalBackupManager)
backupManager).getIncrBackupLogFileMap();
+ if (backupInfo.isContinuousBackupEnabled()) {
+LOG.debug("For incremental backup, current table set is " +
backupInfo.getTables());
+ } else {
+LOG.debug("For incremental backup, current table set is "
+ + backupManager.getIncrementalBackupTableSet());
+newTimestamps = ((IncrementalBackupManager)
backupManager).getIncrBackupLogFileMap();
+ }
Review Comment:
Reason: [[HBASE-14038](https://issues.apache.org/jira/browse/HBASE-14038)]
The incremental backup is controlled by the 'incremental backup table set'.
For example, if the table set contains (table1, table2, table3). Incremental
backup will back up the WALs, which cover all the tables in the table set.
It is to avoid copying the same set of WALs, which would the likely case if
you backup up table1, then backup table2.
Added in comment in code too
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
Re: [PR] HBASE-28990 Modify Incremental Backup for Continuous Backup [hbase]
taklwu commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2116373980
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -149,12 +149,20 @@ public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ // Gather the bulk loads being tracked by the system, which can be
deleted (since their data
+ // will be part of the snapshot being taken). We gather this list before
taking the actual
+ // snapshots for the same reason as the log rolls.
+ List bulkLoadsToDelete =
backupManager.readBulkloadRows(tableList);
Review Comment:
nit: without this steps, will the continuous backup fail? or just have more
data leftover ? also can we have a unit tests for it?
##
hbase-backup/src/test/java/org/apache/hadoop/hbase/backup/TestIncrementalBackupWithContinuous.java:
##
@@ -0,0 +1,245 @@
+/*
+ * 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.*;
+import static
org.apache.hadoop.hbase.backup.replication.ContinuousBackupReplicationEndpoint.CONF_STAGED_WAL_FLUSH_INITIAL_DELAY;
+import static
org.apache.hadoop.hbase.backup.replication.ContinuousBackupReplicationEndpoint.CONF_STAGED_WAL_FLUSH_INTERVAL;
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.*;
Review Comment:
ditto for `*` , please change your IDE setup
##
hbase-backup/src/test/java/org/apache/hadoop/hbase/backup/TestIncrementalBackupWithContinuous.java:
##
@@ -0,0 +1,245 @@
+/*
+ * 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.*;
+import static
org.apache.hadoop.hbase.backup.replication.ContinuousBackupReplicationEndpoint.CONF_STAGED_WAL_FLUSH_INITIAL_DELAY;
+import static
org.apache.hadoop.hbase.backup.replication.ContinuousBackupReplicationEndpoint.CONF_STAGED_WAL_FLUSH_INTERVAL;
+import static org.junit.Assert.*;
Review Comment:
ditto for `*` , please change your IDE setup
##
hbase-backup/src/test/java/org/apache/hadoop/hbase/backup/TestIncrementalBackupWithContinuous.java:
##
@@ -0,0 +1,245 @@
+/*
+ * 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.*;
+import static
org.apache.hadoop.hbase.backup.replication.ContinuousBackupReplicationEnd
Re: [PR] HBASE-28990 Modify Incremental Backup for Continuous Backup [hbase]
kgeisz commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2112940251
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.java:
##
@@ -362,23 +385,89 @@ protected void deleteBulkLoadDirectory() throws
IOException {
}
protected void convertWALsToHFiles() throws IOException {
-// get incremental backup file list and prepare parameters for DistCp
-List incrBackupFileList = backupInfo.getIncrBackupFileList();
-// Get list of tables in incremental backup set
-Set tableSet = backupManager.getIncrementalBackupTableSet();
-// filter missing files out (they have been copied by previous backups)
-incrBackupFileList = filterMissingFiles(incrBackupFileList);
-List tableList = new ArrayList();
-for (TableName table : tableSet) {
- // Check if table exists
- if (tableExists(table, conn)) {
-tableList.add(table.getNameAsString());
- } else {
-LOG.warn("Table " + table + " does not exists. Skipping in WAL
converter");
+long previousBackupTs = 0L;
+if (backupInfo.isContinuousBackupEnabled()) {
+ Set tableSet = backupInfo.getTables();
+ List backupInfos = backupManager.getBackupHistory(true);
+ for (TableName table : tableSet) {
+for (BackupInfo backup : backupInfos) {
+ // find previous backup for this table
+ if (backup.getTables().contains(table)) {
+LOG.info("Found previous backup of type {} with id {} for table
{}", backup.getType(),
+ backup.getBackupId(), table.getNameAsString());
+List walBackupFileList;
+if (backup.getType() == BackupType.FULL) {
+ previousBackupTs = backup.getStartTs();
+} else {
+ previousBackupTs = backup.getIncrCommittedWalTs();
+}
+walBackupFileList = getBackupLogs(previousBackupTs);
+walToHFiles(walBackupFileList,
Arrays.asList(table.getNameAsString()),
+ previousBackupTs);
+break;
+ }
+}
}
+} else {
+ // get incremental backup file list and prepare parameters for DistCp
+ List incrBackupFileList = backupInfo.getIncrBackupFileList();
+ // Get list of tables in incremental backup set
+ Set tableSet = backupManager.getIncrementalBackupTableSet();
+ // filter missing files out (they have been copied by previous backups)
+ incrBackupFileList = filterMissingFiles(incrBackupFileList);
+ List tableList = new ArrayList();
+ for (TableName table : tableSet) {
+// Check if table exists
+if (tableExists(table, conn)) {
+ tableList.add(table.getNameAsString());
+} else {
+ LOG.warn("Table " + table + " does not exists. Skipping in WAL
converter");
+}
+ }
+ walToHFiles(incrBackupFileList, tableList, previousBackupTs);
}
-walToHFiles(incrBackupFileList, tableList);
+ }
+ private List getBackupLogs(long startTs) throws IOException {
+// get log files from backup dir
+String walBackupDir = conf.get(CONF_CONTINUOUS_BACKUP_WAL_DIR);
+if (walBackupDir == null || walBackupDir.isEmpty()) {
+ throw new IOException(
+"Incremental backup requires the WAL backup directory " +
CONF_CONTINUOUS_BACKUP_WAL_DIR);
+}
+List resultLogFiles = new ArrayList<>();
+Path walBackupPath = new Path(walBackupDir);
+FileSystem backupFs = FileSystem.get(walBackupPath.toUri(), conf);
+FileStatus[] dayDirs = backupFs.listStatus(new Path(walBackupDir,
WALS_DIR));
+SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
+dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
+
+for (FileStatus dayDir : dayDirs) {
+ if (!dayDir.isDirectory()) {
+continue; // Skip files, only process directories
+ }
+
+ String dirName = dayDir.getPath().getName();
+ try {
+Date dirDate = dateFormat.parse(dirName);
+long dirStartTime = dirDate.getTime(); // Start of that day (00:00:00)
+long dirEndTime = dirStartTime + ONE_DAY_IN_MILLISECONDS - 1; // End
time of the day
+// (23:59:59)
Review Comment:
This is comment a little odd. I imagine `mvn spotless:apply` is what put it
on multiple lines. What if you shorten the comment a little?
```suggestion
long dirEndTime = dirStartTime + ONE_DAY_IN_MILLISECONDS - 1; // End
time of day (23:59:59)
```
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
kgeisz commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2112770649
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.java:
##
@@ -517,28 +517,47 @@ public String backupTables(BackupRequest request) throws
IOException {
String backupId = BackupRestoreConstants.BACKUPID_PREFIX +
EnvironmentEdgeManager.currentTime();
if (type == BackupType.INCREMENTAL) {
- Set incrTableSet;
- try (BackupSystemTable table = new BackupSystemTable(conn)) {
-incrTableSet = table.getIncrementalBackupTableSet(targetRootDir);
- }
+ if (request.isContinuousBackupEnabled()) {
+Set continuousBackupTableSet;
+try (BackupSystemTable table = new BackupSystemTable(conn)) {
+ continuousBackupTableSet =
table.getContinuousBackupTableSet().keySet();
+}
+if (continuousBackupTableSet.isEmpty()) {
+ String msg = "Continuous backup table set contains no tables. "
++ "You need to run Continuous backup first "
++ (tableList != null ? "on " + StringUtils.join(tableList, ",") :
"");
+ throw new IOException(msg);
+}
+if (!continuousBackupTableSet.containsAll(tableList)) {
+ String extraTables = StringUtils.join(tableList, ",");
+ String msg = "Some tables (" + extraTables + ") haven't gone through
Continuous backup. "
++ "Perform Continuous backup on " + extraTables + " first, " +
"then retry the command";
Review Comment:
nit
```suggestion
+ "Perform Continuous backup on " + extraTables + " first, then
retry the command";
```
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.java:
##
@@ -517,28 +517,47 @@ public String backupTables(BackupRequest request) throws
IOException {
String backupId = BackupRestoreConstants.BACKUPID_PREFIX +
EnvironmentEdgeManager.currentTime();
if (type == BackupType.INCREMENTAL) {
- Set incrTableSet;
- try (BackupSystemTable table = new BackupSystemTable(conn)) {
-incrTableSet = table.getIncrementalBackupTableSet(targetRootDir);
- }
+ if (request.isContinuousBackupEnabled()) {
+Set continuousBackupTableSet;
+try (BackupSystemTable table = new BackupSystemTable(conn)) {
+ continuousBackupTableSet =
table.getContinuousBackupTableSet().keySet();
+}
+if (continuousBackupTableSet.isEmpty()) {
+ String msg = "Continuous backup table set contains no tables. "
++ "You need to run Continuous backup first "
++ (tableList != null ? "on " + StringUtils.join(tableList, ",") :
"");
+ throw new IOException(msg);
+}
+if (!continuousBackupTableSet.containsAll(tableList)) {
+ String extraTables = StringUtils.join(tableList, ",");
+ String msg = "Some tables (" + extraTables + ") haven't gone through
Continuous backup. "
++ "Perform Continuous backup on " + extraTables + " first, " +
"then retry the command";
+ throw new IOException(msg);
+}
+ } else {
+Set incrTableSet;
+try (BackupSystemTable table = new BackupSystemTable(conn)) {
+ incrTableSet = table.getIncrementalBackupTableSet(targetRootDir);
+}
- if (incrTableSet.isEmpty()) {
-String msg =
- "Incremental backup table set contains no tables. " + "You need to
run full backup first "
+if (incrTableSet.isEmpty()) {
+ String msg = "Incremental backup table set contains no tables. "
++ "You need to run full backup first "
+ (tableList != null ? "on " + StringUtils.join(tableList, ",") :
"");
-throw new IOException(msg);
- }
- if (tableList != null) {
-tableList.removeAll(incrTableSet);
-if (!tableList.isEmpty()) {
- String extraTables = StringUtils.join(tableList, ",");
- String msg = "Some tables (" + extraTables + ") haven't gone through
full backup. "
-+ "Perform full backup on " + extraTables + " first, " + "then
retry the command";
throw new IOException(msg);
}
+if (tableList != null) {
+ tableList.removeAll(incrTableSet);
+ if (!tableList.isEmpty()) {
+String extraTables = StringUtils.join(tableList, ",");
+String msg = "Some tables (" + extraTables + ") haven't gone
through full backup. "
+ + "Perform full backup on " + extraTables + " first, " + "then
retry the command";
Review Comment:
nit
```suggestion
+ "Perform full backup on " + extraTables + " first, then
retry the command";
```
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.java:
##
@@ -262,9 +273,18 @@ public void execute() throws IOException,
ColumnF
Re: [PR] HBASE-28990 Modify Incremental Backup for Continuous Backup [hbase]
Apache-HBase commented on PR #6788:
URL: https://github.com/apache/hbase/pull/6788#issuecomment-2870971883
: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 _ |
| +1 :green_heart: | mvninstall | 3m 50s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 0m 20s | | HBASE-28957 passed |
| +1 :green_heart: | javadoc | 0m 15s | | HBASE-28957 passed |
| +1 :green_heart: | shadedjars | 5m 59s | | branch has no errors when
building our shaded downstream artifacts. |
| -0 :warning: | patch | 6m 7s | | Used diff version of patch file.
Binary files and potentially other changes not applied. Please rebase and
squash commits if necessary. |
_ Patch Compile Tests _ |
| +1 :green_heart: | mvninstall | 3m 4s | | the patch passed |
| +1 :green_heart: | compile | 0m 19s | | the patch passed |
| +1 :green_heart: | javac | 0m 19s | | the patch passed |
| +1 :green_heart: | javadoc | 0m 13s | | the patch passed |
| +1 :green_heart: | shadedjars | 5m 58s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| -1 :x: | unit | 22m 44s |
[/patch-unit-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/6/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-backup.txt)
| hbase-backup in the patch failed. |
| | | 44m 12s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/6/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6788 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 06b26e8ba4da 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 / 39a4f8ce6587df70e4429112b277f867aadc8b66 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/6/testReport/
|
| Max. process+thread count | 3663 (vs. ulimit of 3) |
| modules | C: hbase-backup U: hbase-backup |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/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-28990 Modify Incremental Backup for Continuous Backup [hbase]
Apache-HBase commented on PR #6788:
URL: https://github.com/apache/hbase/pull/6788#issuecomment-2870948474
:confetti_ball: **+1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 31s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +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 _ |
| +1 :green_heart: | mvninstall | 3m 14s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 0m 30s | | HBASE-28957 passed |
| +1 :green_heart: | checkstyle | 0m 11s | | HBASE-28957 passed |
| +1 :green_heart: | spotbugs | 0m 31s | | HBASE-28957 passed |
| +1 :green_heart: | spotless | 0m 47s | | branch has no errors when
running spotless:check. |
| -0 :warning: | patch | 0m 54s | | Used diff version of patch file.
Binary files and potentially other changes not applied. Please rebase and
squash commits if necessary. |
_ Patch Compile Tests _ |
| +1 :green_heart: | mvninstall | 3m 3s | | the patch passed |
| +1 :green_heart: | compile | 0m 29s | | the patch passed |
| -0 :warning: | javac | 0m 29s |
[/results-compile-javac-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/6/artifact/yetus-general-check/output/results-compile-javac-hbase-backup.txt)
| hbase-backup generated 5 new + 108 unchanged - 0 fixed = 113 total (was
108) |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 9s |
[/results-checkstyle-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/6/artifact/yetus-general-check/output/results-checkstyle-hbase-backup.txt)
| hbase-backup: The patch generated 4 new + 1 unchanged - 0 fixed = 5 total
(was 1) |
| +1 :green_heart: | spotbugs | 0m 36s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 12m 35s | | 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 10s | | The patch does not
generate ASF License warnings. |
| | | 31m 21s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/6/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6788 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless |
| uname | Linux 998ad25e3ceb 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 / 39a4f8ce6587df70e4429112b277f867aadc8b66 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Max. process+thread count | 82 (vs. ulimit of 3) |
| modules | C: hbase-backup U: hbase-backup |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/6/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 |
| 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-28990 Modify Incremental Backup for Continuous Backup [hbase]
vinayakphegde commented on code in PR #6788: URL: https://github.com/apache/hbase/pull/6788#discussion_r2076784304 ## hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/TableBackupClient.java: ## @@ -112,7 +113,9 @@ protected void beginBackup(BackupManager backupManager, BackupInfo backupInfo) backupManager.setBackupInfo(backupInfo); // set the start timestamp of the overall backup long startTs = EnvironmentEdgeManager.currentTime(); +long committedWALsTs = BackupUtils.getReplicationCheckpoint(conn); Review Comment: Then let's skip the calculation. Below, you're setting `committedWALsTs` using `backupInfo.setIncrCommittedWalTs(committedWALsTs);` In the case of a non-continuous backup, `committedWALsTs` should be 0, right? So we shouldn't set it 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-28990 Modify Incremental Backup for Continuous Backup [hbase]
Apache-HBase commented on PR #6788:
URL: https://github.com/apache/hbase/pull/6788#issuecomment-2834464500
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 32s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 3s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-28957 Compile Tests _ |
| +1 :green_heart: | mvninstall | 4m 23s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 0m 26s | | HBASE-28957 passed |
| +1 :green_heart: | javadoc | 0m 18s | | HBASE-28957 passed |
| +1 :green_heart: | shadedjars | 7m 3s | | branch has no errors when
building our shaded downstream artifacts. |
| -0 :warning: | patch | 7m 12s | | Used diff version of patch file.
Binary files and potentially other changes not applied. Please rebase and
squash commits if necessary. |
_ Patch Compile Tests _ |
| +1 :green_heart: | mvninstall | 4m 2s | | the patch passed |
| +1 :green_heart: | compile | 0m 26s | | the patch passed |
| +1 :green_heart: | javac | 0m 26s | | the patch passed |
| +1 :green_heart: | javadoc | 0m 17s | | the patch passed |
| +1 :green_heart: | shadedjars | 7m 0s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| -1 :x: | unit | 23m 2s |
[/patch-unit-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/5/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-backup.txt)
| hbase-backup in the patch failed. |
| | | 48m 29s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/5/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6788 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 8d32c15ae0ea 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 / 7b26cb03cbbb37f97e2b38c1f2028ab06e9f9e34 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/5/testReport/
|
| Max. process+thread count | 3750 (vs. ulimit of 3) |
| modules | C: hbase-backup U: hbase-backup |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/5/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
Re: [PR] HBASE-28990 Modify Incremental Backup for Continuous Backup [hbase]
Apache-HBase commented on PR #6788:
URL: https://github.com/apache/hbase/pull/6788#issuecomment-2834405500
:confetti_ball: **+1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 53s | | 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.
|
| +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 _ |
| +1 :green_heart: | mvninstall | 4m 19s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 0m 38s | | HBASE-28957 passed |
| +1 :green_heart: | checkstyle | 0m 12s | | HBASE-28957 passed |
| +1 :green_heart: | spotbugs | 0m 35s | | HBASE-28957 passed |
| +1 :green_heart: | spotless | 0m 52s | | branch has no errors when
running spotless:check. |
| -0 :warning: | patch | 0m 59s | | Used diff version of patch file.
Binary files and potentially other changes not applied. Please rebase and
squash commits if necessary. |
_ Patch Compile Tests _ |
| +1 :green_heart: | mvninstall | 3m 14s | | the patch passed |
| +1 :green_heart: | compile | 0m 31s | | the patch passed |
| -0 :warning: | javac | 0m 31s |
[/results-compile-javac-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/5/artifact/yetus-general-check/output/results-compile-javac-hbase-backup.txt)
| hbase-backup generated 6 new + 108 unchanged - 0 fixed = 114 total (was
108) |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 11s |
[/results-checkstyle-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/5/artifact/yetus-general-check/output/results-checkstyle-hbase-backup.txt)
| hbase-backup: The patch generated 4 new + 0 unchanged - 0 fixed = 4 total
(was 0) |
| +1 :green_heart: | spotbugs | 0m 37s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 12m 4s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | spotless | 0m 45s | | patch has no errors when
running spotless:check. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 10s | | The patch does not
generate ASF License warnings. |
| | | 32m 37s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/5/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6788 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless |
| uname | Linux a8d0439162fa 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 / 7b26cb03cbbb37f97e2b38c1f2028ab06e9f9e34 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Max. process+thread count | 84 (vs. ulimit of 3) |
| modules | C: hbase-backup U: hbase-backup |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/5/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 |
| 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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2062827276
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/BackupInfo.java:
##
@@ -124,6 +124,11 @@ public enum BackupPhase {
*/
private long completeTs;
+ /**
+ * Committed WAL timestamp for incremental backup
+ */
+ private long incrCommittedWalTs;
Review Comment:
0
--
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-28990 Modify Incremental Backup for Continuous Backup [hbase]
ankitsol commented on code in PR #6788: URL: https://github.com/apache/hbase/pull/6788#discussion_r2062827182 ## hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/TableBackupClient.java: ## @@ -112,7 +113,9 @@ protected void beginBackup(BackupManager backupManager, BackupInfo backupInfo) backupManager.setBackupInfo(backupInfo); // set the start timestamp of the overall backup long startTs = EnvironmentEdgeManager.currentTime(); +long committedWALsTs = BackupUtils.getReplicationCheckpoint(conn); Review Comment: Yes, not applicable -- 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-28990 Modify Incremental Backup for Continuous Backup [hbase]
vinayakphegde commented on code in PR #6788:
URL: https://github.com/apache/hbase/pull/6788#discussion_r2056431707
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupManager.java:
##
@@ -434,4 +434,15 @@ public void addContinuousBackupTableSet(Set
tables, long startTimesta
throws IOException {
systemTable.addContinuousBackupTableSet(tables, startTimestamp);
}
+
+ /**
+ * Retrieves the current set of tables covered by continuous backup along
with the timestamp
+ * indicating when continuous backup started for each table.
+ * @return a map where the key is the table name and the value is the
timestamp representing the
+ * start time of continuous backup for that table.
+ * @throws IOException if an I/O error occurs while accessing the backup
system table.
+ */
+ public Map getContinuousBackupTableSet() throws IOException
{
Review Comment:
where are we using this method?
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.java:
##
@@ -565,7 +584,7 @@ public String backupTables(BackupRequest request) throws
IOException {
}
}
if (nonExistingTableList != null) {
-if (type == BackupType.INCREMENTAL) {
+if (type == BackupType.INCREMENTAL &&
!request.isContinuousBackupEnabled()) {
Review Comment:
maybe we can put some comment to explain what is happening here? why it is
okay for normal incremental backup to go through the process even if some
tables are not existing and why it is not okay in case of continuous backup
enabled incremental backup.
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.java:
##
@@ -262,9 +271,13 @@ public void execute() throws IOException,
ColumnFamilyMismatchException {
// case PREPARE_INCREMENTAL:
beginBackup(backupManager, backupInfo);
backupInfo.setPhase(BackupPhase.PREPARE_INCREMENTAL);
- LOG.debug("For incremental backup, current table set is "
-+ backupManager.getIncrementalBackupTableSet());
- newTimestamps = ((IncrementalBackupManager)
backupManager).getIncrBackupLogFileMap();
+ if (backupInfo.isContinuousBackupEnabled()) {
+LOG.debug("For incremental backup, current table set is " +
backupInfo.getTables());
+ } else {
+LOG.debug("For incremental backup, current table set is "
+ + backupManager.getIncrementalBackupTableSet());
+newTimestamps = ((IncrementalBackupManager)
backupManager).getIncrBackupLogFileMap();
+ }
Review Comment:
We should clarify this point in the comment or elsewhere in the code:
- When continuous backup is enabled, incremental backups only consider the
tables explicitly specified by the user.
- For regular incremental backups, we consider all tables marked for
incremental backup under the given backup root.
We should also investigate the reasoning behind this behavior to gain better
clarity.
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/BackupInfo.java:
##
@@ -124,6 +124,11 @@ public enum BackupPhase {
*/
private long completeTs;
+ /**
+ * Committed WAL timestamp for incremental backup
+ */
+ private long incrCommittedWalTs;
Review Comment:
what will be the value in case of normal incremental backup?
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/TableBackupClient.java:
##
@@ -112,7 +113,9 @@ protected void beginBackup(BackupManager backupManager,
BackupInfo backupInfo)
backupManager.setBackupInfo(backupInfo);
// set the start timestamp of the overall backup
long startTs = EnvironmentEdgeManager.currentTime();
+long committedWALsTs = BackupUtils.getReplicationCheckpoint(conn);
Review Comment:
this will not be applicable in normal incremental backup, right?
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/replication/ContinuousBackupReplicationEndpoint.java:
##
@@ -282,8 +283,9 @@ private void backupWalEntries(long day, List
walEntries) throws IOExc
private FSHLogProvider.Writer createWalWriter(long dayInMillis) {
// Convert dayInMillis to "-MM-dd" format
-SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
Review Comment:
won't just `dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));` work?
##
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/FullTableBackupClient.java:
##
@@ -148,13 +148,16 @@ protected void snapshotCopy(BackupInfo backupInfo) throws
IOException {
public void execute() throws IOException {
try (Admin admin = conn.getAdmin()) {
beginBackup(backupManager, backupInfo);
+ initializeBackupStartCode(backupManager);
+ performLogRoll(admin);
Review Comment:
Why are we doing these steps again here?
is it also needed for continuous backup enabled full
Re: [PR] HBASE-28990 Modify Incremental Backup for Continuous Backup [hbase]
Apache-HBase commented on PR #6788:
URL: https://github.com/apache/hbase/pull/6788#issuecomment-2820054852
: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 _ |
| +1 :green_heart: | mvninstall | 3m 33s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 0m 23s | | HBASE-28957 passed |
| +1 :green_heart: | javadoc | 0m 17s | | HBASE-28957 passed |
| +1 :green_heart: | shadedjars | 6m 21s | | branch has no errors when
building our shaded downstream artifacts. |
| -0 :warning: | patch | 6m 29s | | Used diff version of patch file.
Binary files and potentially other changes not applied. Please rebase and
squash commits if necessary. |
_ Patch Compile Tests _ |
| +1 :green_heart: | mvninstall | 3m 35s | | the patch passed |
| +1 :green_heart: | compile | 0m 23s | | the patch passed |
| +1 :green_heart: | javac | 0m 23s | | the patch passed |
| +1 :green_heart: | javadoc | 0m 15s | | the patch passed |
| +1 :green_heart: | shadedjars | 6m 26s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| -1 :x: | unit | 23m 2s |
[/patch-unit-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/4/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-backup.txt)
| hbase-backup in the patch failed. |
| | | 45m 39s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/4/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6788 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 4877413ba229 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 / 8e1d0331de3698713527bd6184be748533cd3984 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/4/testReport/
|
| Max. process+thread count | 3771 (vs. ulimit of 3) |
| modules | C: hbase-backup U: hbase-backup |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/4/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
Re: [PR] HBASE-28990 Modify Incremental Backup for Continuous Backup [hbase]
Apache-HBase commented on PR #6788:
URL: https://github.com/apache/hbase/pull/6788#issuecomment-2819997241
: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.
|
| +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 _ |
| +1 :green_heart: | mvninstall | 3m 47s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 0m 36s | | HBASE-28957 passed |
| +1 :green_heart: | checkstyle | 0m 13s | | HBASE-28957 passed |
| +1 :green_heart: | spotbugs | 0m 38s | | HBASE-28957 passed |
| +1 :green_heart: | spotless | 0m 51s | | branch has no errors when
running spotless:check. |
| -0 :warning: | patch | 0m 59s | | Used diff version of patch file.
Binary files and potentially other changes not applied. Please rebase and
squash commits if necessary. |
_ Patch Compile Tests _ |
| +1 :green_heart: | mvninstall | 3m 32s | | the patch passed |
| +1 :green_heart: | compile | 0m 34s | | the patch passed |
| -0 :warning: | javac | 0m 34s |
[/results-compile-javac-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/4/artifact/yetus-general-check/output/results-compile-javac-hbase-backup.txt)
| hbase-backup generated 5 new + 108 unchanged - 0 fixed = 113 total (was
108) |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 10s |
[/results-checkstyle-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/4/artifact/yetus-general-check/output/results-checkstyle-hbase-backup.txt)
| hbase-backup: The patch generated 5 new + 1 unchanged - 0 fixed = 6 total
(was 1) |
| +1 :green_heart: | spotbugs | 0m 44s | | the patch passed |
| +1 :green_heart: | hadoopcheck | 12m 20s | | Patch does not cause any
errors with Hadoop 3.3.6 3.4.0. |
| +1 :green_heart: | spotless | 0m 50s | | patch has no errors when
running spotless:check. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 10s | | The patch does not
generate ASF License warnings. |
| | | 32m 37s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/4/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6788 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless |
| uname | Linux 156e6abd495c 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 / 8e1d0331de3698713527bd6184be748533cd3984 |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Max. process+thread count | 83 (vs. ulimit of 3) |
| modules | C: hbase-backup U: hbase-backup |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/4/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 |
| 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-28990 Modify Incremental Backup for Continuous Backup [hbase]
Apache-HBase commented on PR #6788:
URL: https://github.com/apache/hbase/pull/6788#issuecomment-2771264479
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 31s | | Docker mode activated. |
| -0 :warning: | yetus | 0m 3s | | Unprocessed flag(s):
--brief-report-file --spotbugs-strict-precheck --author-ignore-list
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck |
_ Prechecks _ |
_ HBASE-28957 Compile Tests _ |
| +1 :green_heart: | mvninstall | 3m 20s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 0m 19s | | HBASE-28957 passed |
| +1 :green_heart: | javadoc | 0m 14s | | HBASE-28957 passed |
| +1 :green_heart: | shadedjars | 5m 58s | | branch has no errors when
building our shaded downstream artifacts. |
| -0 :warning: | patch | 6m 6s | | Used diff version of patch file.
Binary files and potentially other changes not applied. Please rebase and
squash commits if necessary. |
_ Patch Compile Tests _ |
| -1 :x: | mvninstall | 3m 0s |
[/patch-mvninstall-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/3/artifact/yetus-jdk17-hadoop3-check/output/patch-mvninstall-root.txt)
| root in the patch failed. |
| -1 :x: | compile | 0m 19s |
[/patch-compile-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/3/artifact/yetus-jdk17-hadoop3-check/output/patch-compile-hbase-backup.txt)
| hbase-backup in the patch failed. |
| -0 :warning: | javac | 0m 19s |
[/patch-compile-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/3/artifact/yetus-jdk17-hadoop3-check/output/patch-compile-hbase-backup.txt)
| hbase-backup in the patch failed. |
| +1 :green_heart: | javadoc | 0m 13s | | the patch passed |
| +1 :green_heart: | shadedjars | 5m 56s | | patch has no errors when
building our shaded downstream artifacts. |
_ Other Tests _ |
| -1 :x: | unit | 0m 19s |
[/patch-unit-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/3/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-backup.txt)
| hbase-backup in the patch failed. |
| | | 21m 12s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/3/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6788 |
| Optional Tests | javac javadoc unit compile shadedjars |
| uname | Linux 4c6730c8e30b 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 / dc809b3acd390bc501dd67357e46eecc18651dae |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| Test Results |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/3/testReport/
|
| Max. process+thread count | 82 (vs. ulimit of 3) |
| modules | C: hbase-backup U: hbase-backup |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/3/console
|
| versions | git=2.34.1 maven=3.9.8 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
Re: [PR] HBASE-28990 Modify Incremental Backup for Continuous Backup [hbase]
Apache-HBase commented on PR #6788:
URL: https://github.com/apache/hbase/pull/6788#issuecomment-2771261172
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|::|--:|:|::|:---:|
| +0 :ok: | reexec | 0m 30s | | Docker mode activated. |
_ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +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 _ |
| +1 :green_heart: | mvninstall | 3m 19s | | HBASE-28957 passed |
| +1 :green_heart: | compile | 0m 30s | | HBASE-28957 passed |
| +1 :green_heart: | checkstyle | 0m 10s | | HBASE-28957 passed |
| +1 :green_heart: | spotbugs | 0m 32s | | HBASE-28957 passed |
| +1 :green_heart: | spotless | 0m 46s | | branch has no errors when
running spotless:check. |
| -0 :warning: | patch | 0m 52s | | Used diff version of patch file.
Binary files and potentially other changes not applied. Please rebase and
squash commits if necessary. |
_ Patch Compile Tests _ |
| -1 :x: | mvninstall | 3m 3s |
[/patch-mvninstall-root.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/3/artifact/yetus-general-check/output/patch-mvninstall-root.txt)
| root in the patch failed. |
| -1 :x: | compile | 0m 25s |
[/patch-compile-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/3/artifact/yetus-general-check/output/patch-compile-hbase-backup.txt)
| hbase-backup in the patch failed. |
| -0 :warning: | javac | 0m 25s |
[/patch-compile-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/3/artifact/yetus-general-check/output/patch-compile-hbase-backup.txt)
| hbase-backup in the patch failed. |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 9s |
[/results-checkstyle-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/3/artifact/yetus-general-check/output/results-checkstyle-hbase-backup.txt)
| hbase-backup: The patch generated 9 new + 1 unchanged - 0 fixed = 10 total
(was 1) |
| -1 :x: | spotbugs | 0m 17s |
[/patch-spotbugs-hbase-backup.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/3/artifact/yetus-general-check/output/patch-spotbugs-hbase-backup.txt)
| hbase-backup in the patch failed. |
| -1 :x: | hadoopcheck | 2m 46s | | The patch causes 15 errors with
Hadoop v3.3.6. |
| -1 :x: | hadoopcheck | 5m 30s | | The patch causes 15 errors with
Hadoop v3.4.0. |
| -1 :x: | spotless | 0m 41s | | patch has 31 errors when running
spotless:check, run spotless:apply to fix. |
_ Other Tests _ |
| +1 :green_heart: | asflicense | 0m 9s | | The patch does not
generate ASF License warnings. |
| | | 17m 35s | | |
| Subsystem | Report/Notes |
|--:|:-|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base:
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/3/artifact/yetus-general-check/output/Dockerfile
|
| GITHUB PR | https://github.com/apache/hbase/pull/6788 |
| Optional Tests | dupname asflicense javac spotbugs checkstyle codespell
detsecrets compile hadoopcheck hbaseanti spotless |
| uname | Linux 34b29038fe1c 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 / dc809b3acd390bc501dd67357e46eecc18651dae |
| Default Java | Eclipse Adoptium-17.0.11+9 |
| hadoopcheck |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/3/artifact/yetus-general-check/output/patch-javac-3.3.6.txt
|
| hadoopcheck |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/3/artifact/yetus-general-check/output/patch-javac-3.4.0.txt
|
| spotless |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/3/artifact/yetus-general-check/output/patch-spotless.txt
|
| Max. process+thread count | 83 (vs. ulimit of 3) |
| modules | C: hbase-backup U: hbase-backup |
| Console output |
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6788/3/console
|
| versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 |
| Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
This message was automatically generated.
--
Th
