[jira] [Created] (HBASE-28386) Potential Data loss issue for the HFLog

2024-02-20 Thread Dong0829 (Jira)
Dong0829 created HBASE-28386:


 Summary: Potential Data loss issue for the HFLog
 Key: HBASE-28386
 URL: https://issues.apache.org/jira/browse/HBASE-28386
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Dong0829
 Attachments: Screenshot 2024-02-19 at 10.53.20.png

 I am going through the WAL implementation HFLog, and based on the code 
reading, as my understanding there maybe potential data loss for example in 
below scenarios: # Append record A3 already into the stream, and but the 
syncFuture S3 does not reach to the SyncRunner yet
 # The SyncRunner run the sync and call sync on writer, but failed, all the 
data in stream lost including A3
 # Because the syncFuture S3 does not reach to the syncRunner, it can not 
release it and mark it failed
 # In next run() of the SyncRunner, the new sync() succeeded, it will release 
and mark S3 as succeeded, but actually it should failed which cause data loss.

Can anyone help to check above above is true? Am I missing anything regarding 
this process?
!Screenshot 2024-02-19 at 10.53.20.png!



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Comment Edited] (HBASE-27614) Region Reopen failure when the openNum has issue

2023-02-05 Thread Dong0829 (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-27614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17684396#comment-17684396
 ] 

Dong0829 edited comment on HBASE-27614 at 2/6/23 3:32 AM:
--

Thanks [~zhangduo] for looking into this

 

Maybe I did not explain the issue clearly, changing TTL does NOT cause the 
seqNum go back. The context is:
 # For some reason(we suspect its the WAL data loss or HFile loss during HBase 
migrate), the seqNum during open region was much smaller than 
{{seqnumDuringOpen in the meta}}
 # Above mismatch cause the reopen keep re-opening the same region even its 
already opened successfully

 

If the "The seqNum should not go backward", then as I said, for the open 
procedure([https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/OpenRegionProcedure.java#L81]),
 should we consider the open succeeded if the openSeqNum is smaller than the 
one in region state?

 

I am using hbase-2.4.13, you mean instead of the set the seqNum based on the 
wal and hfile, now there is a separate file to tracking the max sequence id? If 
yes, may I know from which version?


was (Author: li0829):
Thanks [~zhangduo] for looking into this

 

Maybe I did not explain the issue clearly, changing TTL does NOT cause the 
seqNum go back. The context is:
 # For some reason(we suspect its the WAL data loss or HFile log during HBase 
migrate), the seqNum during open region was much smaller than 
{{seqnumDuringOpen in the meta}}
 # Above mismatch cause the reopen keep re-opening the same region even its 
already opened successfully

 

If the "The seqNum should not go backward", then as I said, for the open 
procedure([https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/OpenRegionProcedure.java#L81]),
 should we consider the open succeeded if the openSeqNum is smaller than the 
one in region state?

 

I am using hbase-2.4.13, you mean instead of the set the seqNum based on the 
wal and hfile, now there is a separate file to tracking the max sequence id? If 
yes, may I know from which version?

> Region Reopen failure when the openNum has issue
> 
>
> Key: HBASE-27614
> URL: https://issues.apache.org/jira/browse/HBASE-27614
> Project: HBase
>  Issue Type: Bug
>Reporter: Dong0829
>Assignee: Dong0829
>Priority: Major
>
> We faced the issue when change the TTL for the hbase table and a lot of 
> regions keep reopen and tons of TRSP created, after troubleshooting, we found 
> some logic issue for the region reopen procedure logic.
> In the reopen process, it will check the seqNum to confirm if the region 
> reopened successfully or not. If the seqNum accident become bigger than the 
> current HFile and WAL (because of the data loss), there will be issue and 
> unnecessary loop for the region close/open
>  
> We should be able to optimize the logic, more details
> For this regionOpenedWithoutPersistingToMeta, should we just update the 
> OpenSeqNum when the new one is bigger than the old one?
> As the region already opened, we should update the OpenSeqNum no matter its 
> bigger or smaller, otherwise, we should not just return WARN but failed the 
> open, right?
> [https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/OpenRegionProcedure.java#L81]
>  
> Above does matter because for the 
> checkReopened([https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java#L312]),
>  if the seq is smaller, the region will be returned and keep reopening.  So 
> we should either update the logic in regionOpenedWithoutPersistingToMeta or 
> checkReopened to make sure the region reopen works properly if the seqNum has 
> issue
>  
>  
> Reproduce steps:
>  
> 1. {{{}Create a test table and put some data, for example:{}}}{{{}test{}}}
> {{create 'test', 'info'}}
> {{put 'test', 'fool', 'info:cat', 'test'}}
> {{2. Manually update one region row for this test table in hbase:meta on the 
> column, for example:}}
> {{put 'hbase:meta', 'test,,1673406566311.3eb4d3e0258bd06f4639a595920c7673.', 
> 'info:seqnumDuringOpen', "\x00\x00\x00\x00\x00\x10\x00\x05"}}
> 3. Modify the table TTL :
> alter 'test', \{NAME=>'info' , TTL => '63244800'}}}
>  
> You will see the region keep reopening



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (HBASE-27614) Region Reopen failure when the openNum has issue

2023-02-05 Thread Dong0829 (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-27614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17684396#comment-17684396
 ] 

Dong0829 commented on HBASE-27614:
--

Thanks [~zhangduo] for looking into this

 

Maybe I did not explain the issue clearly, changing TTL does NOT cause the 
seqNum go back. The context is:
 # For some reason(we suspect its the WAL data loss or HFile log during HBase 
migrate), the seqNum during open region was much smaller than 
{{seqnumDuringOpen in the meta}}
 # Above mismatch cause the reopen keep re-opening the same region even its 
already opened successfully

 

If the "The seqNum should not go backward", then as I said, for the open 
procedure([https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/OpenRegionProcedure.java#L81]),
 should we consider the open succeeded if the openSeqNum is smaller than the 
one in region state?

 

I am using hbase-2.4.13, you mean instead of the set the seqNum based on the 
wal and hfile, now there is a separate file to tracking the max sequence id? If 
yes, may I know from which version?

> Region Reopen failure when the openNum has issue
> 
>
> Key: HBASE-27614
> URL: https://issues.apache.org/jira/browse/HBASE-27614
> Project: HBase
>  Issue Type: Bug
>Reporter: Dong0829
>Assignee: Dong0829
>Priority: Major
>
> We faced the issue when change the TTL for the hbase table and a lot of 
> regions keep reopen and tons of TRSP created, after troubleshooting, we found 
> some logic issue for the region reopen procedure logic.
> In the reopen process, it will check the seqNum to confirm if the region 
> reopened successfully or not. If the seqNum accident become bigger than the 
> current HFile and WAL (because of the data loss), there will be issue and 
> unnecessary loop for the region close/open
>  
> We should be able to optimize the logic, more details
> For this regionOpenedWithoutPersistingToMeta, should we just update the 
> OpenSeqNum when the new one is bigger than the old one?
> As the region already opened, we should update the OpenSeqNum no matter its 
> bigger or smaller, otherwise, we should not just return WARN but failed the 
> open, right?
> [https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/OpenRegionProcedure.java#L81]
>  
> Above does matter because for the 
> checkReopened([https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java#L312]),
>  if the seq is smaller, the region will be returned and keep reopening.  So 
> we should either update the logic in regionOpenedWithoutPersistingToMeta or 
> checkReopened to make sure the region reopen works properly if the seqNum has 
> issue
>  
>  
> Reproduce steps:
>  
> 1. {{{}Create a test table and put some data, for example:{}}}{{{}test{}}}
> {{create 'test', 'info'}}
> {{put 'test', 'fool', 'info:cat', 'test'}}
> {{2. Manually update one region row for this test table in hbase:meta on the 
> column, for example:}}
> {{put 'hbase:meta', 'test,,1673406566311.3eb4d3e0258bd06f4639a595920c7673.', 
> 'info:seqnumDuringOpen', "\x00\x00\x00\x00\x00\x10\x00\x05"}}
> 3. Modify the table TTL :
> alter 'test', \{NAME=>'info' , TTL => '63244800'}}}
>  
> You will see the region keep reopening



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (HBASE-27614) Region Reopen failure when the openNum has issue

2023-02-05 Thread Dong0829 (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-27614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dong0829 updated HBASE-27614:
-
Description: 
We faced the issue when change the TTL for the hbase table and a lot of regions 
keep reopen and tons of TRSP created, after troubleshooting, we found some 
logic issue for the region reopen procedure logic.

In the reopen process, it will check the seqNum to confirm if the region 
reopened successfully or not. If the seqNum accident become bigger than the 
current HFile and WAL (because of the data loss), there will be issue and 
unnecessary loop for the region close/open

 

We should be able to optimize the logic, more details

For this regionOpenedWithoutPersistingToMeta, should we just update the 
OpenSeqNum when the new one is bigger than the old one?

As the region already opened, we should update the OpenSeqNum no matter its 
bigger or smaller, otherwise, we should not just return WARN but failed the 
open, right?

[https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/OpenRegionProcedure.java#L81]

 

Above does matter because for the 
checkReopened([https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java#L312]),
 if the seq is smaller, the region will be returned and keep reopening.  So we 
should either update the logic in regionOpenedWithoutPersistingToMeta or 
checkReopened to make sure the region reopen works properly if the seqNum has 
issue

 

 

Reproduce steps:

 

1. {{{}Create a test table and put some data, for example:{}}}{{{}test{}}}
{{create 'test', 'info'}}
{{put 'test', 'fool', 'info:cat', 'test'}}

{{2. Manually update one region row for this test table in hbase:meta on the 
column, for example:}}

{{put 'hbase:meta', 'test,,1673406566311.3eb4d3e0258bd06f4639a595920c7673.', 
'info:seqnumDuringOpen', "\x00\x00\x00\x00\x00\x10\x00\x05"}}

3. Modify the table TTL :

alter 'test', \{NAME=>'info' , TTL => '63244800'}}}

 

You will see the region keep reopening

  was:
We faced the issue when change the TTL for the hbase table and a lot of regions 
keep reopen and tons of TRSP created, after troubleshooting, we found some 
issue for the region reopen procedure logic.

In the reopen process, it will check the seqNum to confirm if the region 
reopened successfully or not. If the seqNum accident become bigger than the 
current HFile and WAL (because of the data loss), there will be issue and 
unnecessary loop for the region close/open

 

We should be able to optimize the logic, more details

For this regionOpenedWithoutPersistingToMeta, should we just update the 
OpenSeqNum when the new one is bigger than the old one?

As the region already opened, we should update the OpenSeqNum no matter its 
bigger or smaller, otherwise, we should not just return WARN but failed the 
open, right?

[https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/OpenRegionProcedure.java#L81]

 

Above does matter because for the 
checkReopened([https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java#L312]),
 if the seq is smaller, the region will be returned and keep reopening.  So we 
should either update the logic in regionOpenedWithoutPersistingToMeta or 
checkReopened to make sure the region reopen works properly if the seqNum has 
issue

 

 

Reproduce steps:

 

1. {{{}Create a test table and put some data, for example:{}}}{{{}test{}}}
{{create 'test', 'info'}}
{{put 'test', 'fool', 'info:cat', 'test'}}

{{2. Manually update one region row for this test table in hbase:meta on the 
column, for example:}}

{{put 'hbase:meta', 'test,,1673406566311.3eb4d3e0258bd06f4639a595920c7673.', 
'info:seqnumDuringOpen', "\x00\x00\x00\x00\x00\x10\x00\x05"}}

3. Modify the table TTL :

alter 'test', \{NAME=>'info' , TTL => '63244800'}}}

 

You will see the region keep reopening


> Region Reopen failure when the openNum has issue
> 
>
> Key: HBASE-27614
> URL: https://issues.apache.org/jira/browse/HBASE-27614
> Project: HBase
>  Issue Type: Bug
>Reporter: Dong0829
>Assignee: Dong0829
>Priority: Major
>
> We faced the issue when change the TTL for the hbase table and a lot of 
> regions keep reopen and tons of TRSP created, after troubleshooting, we found 
> some logic issue for the region reopen procedure logic.
> In the reopen process, it will check the seqNum to confirm if the region 
> reopened successfully or not. If the seqNum accident become bigger than the 
> current HFile and WAL (because of the data loss), there will be issue and 
> unnecessary loop for the region close/open
>  
> We should be able to 

[jira] [Updated] (HBASE-27614) Region Reopen failure when the openNum has issue

2023-02-05 Thread Dong0829 (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-27614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dong0829 updated HBASE-27614:
-
Description: 
We faced the issue when change the TTL for the hbase table and a lot of regions 
keep reopen and tons of TRSP created, after troubleshooting, we found some 
issue for the region reopen procedure logic.

In the reopen process, it will check the seqNum to confirm if the region 
reopened successfully or not. If the seqNum accident become bigger than the 
current HFile and WAL (because of the data loss), there will be issue and 
unnecessary loop for the region close/open

 

We should be able to optimize the logic, more details

For this regionOpenedWithoutPersistingToMeta, should we just update the 
OpenSeqNum when the new one is bigger than the old one?

As the region already opened, we should update the OpenSeqNum no matter its 
bigger or smaller, otherwise, we should not just return WARN but failed the 
open, right?

[https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/OpenRegionProcedure.java#L81]

 

Above does matter because for the 
checkReopened([https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java#L312]),
 if the seq is smaller, the region will be returned and keep reopening.  So we 
should either update the logic in regionOpenedWithoutPersistingToMeta or 
checkReopened to make sure the region reopen works properly if the seqNum has 
issue

 

 

Reproduce steps:

 

1. {{{}Create a test table and put some data, for example:{}}}{{{}test{}}}
{{create 'test', 'info'}}
{{put 'test', 'fool', 'info:cat', 'test'}}

{{2. Manually update one region row for this test table in hbase:meta on the 
column, for example:}}

{{put 'hbase:meta', 'test,,1673406566311.3eb4d3e0258bd06f4639a595920c7673.', 
'info:seqnumDuringOpen', "\x00\x00\x00\x00\x00\x10\x00\x05"}}

3. Modify the table TTL :

alter 'test', \{NAME=>'info' , TTL => '63244800'}}}

 

You will see the region keep reopening

  was:
We faced the issue when change the TTL for the hbase table and a lot of regions 
keep reopen and tons of TRSP created, after troubleshooting, we found some 
issue for the region reopen procedure logic.

In the reopen process, it will check the seqNum to confirm if the region 
reopened successfully or not. If the seqNum accident become bigger than the 
current HFile and WAL (because of the data loss), there will be issue and 
unnecessary loop for the region close/open

 

We should be able to optimize the logic, more details

For this regionOpenedWithoutPersistingToMeta, should we just update the 
OpenSeqNum when the new one is bigger than the old one?

As the region already opened, we should update the OpenSeqNum no matter its 
bigger or smaller, otherwise, we should not just return WARN but failed the 
open, right?

[https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/OpenRegionProcedure.java#L81]

 

Above does matter because for the 
checkReopened([https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java#L312]),
 if the seq is smaller, the region will be returned and keep reopening.  So we 
should either update the logic in regionOpenedWithoutPersistingToMeta or 
checkReopened to make sure the region reopen works properly if the seqNum has 
issue

 

 

Reproduce steps:

 

 

1. {{{}Create a test table and put some data, for example:{}}}{{{}test{}}}
{{create 'test', 'info'}}
{{put 'test', 'fool', 'info:cat', 'test'}}

{{2. Manually update one region row for this test table in hbase:meta on the 
column, for example:}}

{{put 'hbase:meta', 'test,,1673406566311.3eb4d3e0258bd06f4639a595920c7673.', 
'info:seqnumDuringOpen', "\x00\x00\x00\x00\x00\x10\x00\x05"}}

{{3. Modify the table TTL : 

alter 'test', \{NAME=>'info' , TTL => '63244800'}}}

{{}}

You will see the region keep reopening {{}}

{{}}


> Region Reopen failure when the openNum has issue
> 
>
> Key: HBASE-27614
> URL: https://issues.apache.org/jira/browse/HBASE-27614
> Project: HBase
>  Issue Type: Bug
>Reporter: Dong0829
>Assignee: Dong0829
>Priority: Major
>
> We faced the issue when change the TTL for the hbase table and a lot of 
> regions keep reopen and tons of TRSP created, after troubleshooting, we found 
> some issue for the region reopen procedure logic.
> In the reopen process, it will check the seqNum to confirm if the region 
> reopened successfully or not. If the seqNum accident become bigger than the 
> current HFile and WAL (because of the data loss), there will be issue and 
> unnecessary loop for the region close/open
>  
> We should be able to 

[jira] [Created] (HBASE-27614) Region Reopen failure when the openNum has issue

2023-02-05 Thread Dong0829 (Jira)
Dong0829 created HBASE-27614:


 Summary: Region Reopen failure when the openNum has issue
 Key: HBASE-27614
 URL: https://issues.apache.org/jira/browse/HBASE-27614
 Project: HBase
  Issue Type: Bug
Reporter: Dong0829
Assignee: Dong0829


We faced the issue when change the TTL for the hbase table and a lot of regions 
keep reopen and tons of TRSP created, after troubleshooting, we found some 
issue for the region reopen procedure logic.

In the reopen process, it will check the seqNum to confirm if the region 
reopened successfully or not. If the seqNum accident become bigger than the 
current HFile and WAL (because of the data loss), there will be issue and 
unnecessary loop for the region close/open

 

We should be able to optimize the logic, more details

For this regionOpenedWithoutPersistingToMeta, should we just update the 
OpenSeqNum when the new one is bigger than the old one?

As the region already opened, we should update the OpenSeqNum no matter its 
bigger or smaller, otherwise, we should not just return WARN but failed the 
open, right?

[https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/OpenRegionProcedure.java#L81]

 

Above does matter because for the 
checkReopened([https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java#L312]),
 if the seq is smaller, the region will be returned and keep reopening.  So we 
should either update the logic in regionOpenedWithoutPersistingToMeta or 
checkReopened to make sure the region reopen works properly if the seqNum has 
issue

 

 

Reproduce steps:

 

 

1. {{{}Create a test table and put some data, for example:{}}}{{{}test{}}}
{{create 'test', 'info'}}
{{put 'test', 'fool', 'info:cat', 'test'}}

{{2. Manually update one region row for this test table in hbase:meta on the 
column, for example:}}

{{put 'hbase:meta', 'test,,1673406566311.3eb4d3e0258bd06f4639a595920c7673.', 
'info:seqnumDuringOpen', "\x00\x00\x00\x00\x00\x10\x00\x05"}}

{{3. Modify the table TTL : 

alter 'test', \{NAME=>'info' , TTL => '63244800'}}}

{{}}

You will see the region keep reopening {{}}

{{}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (HBASE-27245) Expose the archive option to end user

2022-07-27 Thread Dong0829 (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-27245?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dong0829 updated HBASE-27245:
-
Affects Version/s: 3.0.0-alpha-3

> Expose the archive option to end user
> -
>
> Key: HBASE-27245
> URL: https://issues.apache.org/jira/browse/HBASE-27245
> Project: HBase
>  Issue Type: New Feature
>  Components: master
>Affects Versions: 2.5.0, 3.0.0-alpha-3
>Reporter: Dong0829
>Priority: Minor
>
> For the delete table procedure, we already have archive option, but the 
> archive now will already be true and not provided to end user.
> Actually its valuable to provide this option to the end user because some 
> time, customer does not want this table archived when drop the table, it will 
> waste the storage and time if hbase keep archive the table. Especially for 
> the users who are using AWS s3 or Azure as storage which will take lots time 
> for the rename and delete operation for big tables



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (HBASE-27245) Expose the archive option to end user

2022-07-26 Thread Dong0829 (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-27245?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dong0829 updated HBASE-27245:
-
Description: 
For the delete table procedure, we already have archive option, but the archive 
now will already be true and not provided to end user.

Actually its valuable to provide this option to the end user because some time, 
customer does not want this table archived when drop the table, it will waste 
the storage and time if hbase keep archive the table. Especially for the users 
who are using AWS s3 or Azure as storage which will take lots time for the 
rename and delete operation for big tables

  was:
For the delete table procedure, we already have archive option, but the archive 
now will already be true and not provided to end user.

Actually its valuable to provide this option to the end user because some time, 
customer does not want this table archived when drop the table, it will waste 
the storage and time if hbase keep archive the table. Especially for the users 
who are using AWS s3 or Azure as storage which will take more time for the 
rename and delete operation


> Expose the archive option to end user
> -
>
> Key: HBASE-27245
> URL: https://issues.apache.org/jira/browse/HBASE-27245
> Project: HBase
>  Issue Type: New Feature
>  Components: master
>Affects Versions: 2.5.0
>Reporter: Dong0829
>Priority: Minor
>
> For the delete table procedure, we already have archive option, but the 
> archive now will already be true and not provided to end user.
> Actually its valuable to provide this option to the end user because some 
> time, customer does not want this table archived when drop the table, it will 
> waste the storage and time if hbase keep archive the table. Especially for 
> the users who are using AWS s3 or Azure as storage which will take lots time 
> for the rename and delete operation for big tables



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (HBASE-27245) Expose the archive option to end user

2022-07-26 Thread Dong0829 (Jira)
Dong0829 created HBASE-27245:


 Summary: Expose the archive option to end user
 Key: HBASE-27245
 URL: https://issues.apache.org/jira/browse/HBASE-27245
 Project: HBase
  Issue Type: New Feature
  Components: master
Affects Versions: 2.5.0
Reporter: Dong0829


For the delete table procedure, we already have archive option, but the archive 
now will already be true and not provided to end user.

Actually its valuable to provide this option to the end user because some time, 
customer does not want this table archived when drop the table, it will waste 
the storage and time if hbase keep archive the table. Especially for the users 
who are using AWS s3 or Azure as storage which will take more time for the 
rename and delete operation



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (HBASE-27244) bin/hbase still use slf4j-log4j while reload4j in place

2022-07-26 Thread Dong0829 (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-27244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17571683#comment-17571683
 ] 

Dong0829 commented on HBASE-27244:
--

Yes, I am preparing the PR

> bin/hbase still use slf4j-log4j while reload4j in place
> ---
>
> Key: HBASE-27244
> URL: https://issues.apache.org/jira/browse/HBASE-27244
> Project: HBase
>  Issue Type: Bug
>  Components: shell
>Affects Versions: 2.4.13
>Reporter: Dong0829
>Priority: Major
>
> For the bin/hbase file, there are some class path set which will handle the 
> slf4j-log4j before, but now in hbase branch 2, we upgrade to reload4j, but 
> the hbase file not upgrade, for example, if we run mapredcp:
> hbase mapredcp:
> /usr/lib/hbase/lib/shaded-clients/hbase-shaded-mapreduce-2.4.12.jar:/usr/lib/hbase/lib/client-facing-thirdparty/audience-annotations-0.5.0.jar:/usr/lib/hbase/lib/client-facing-thirdparty/commons-logging-1.2.jar:/usr/lib/hbase/lib/client-facing-thirdparty/htrace-core4-4.2.0-incubating.jar:/usr/lib/hbase/lib/client-facing-thirdparty/jcl-over-slf4j-1.7.33.jar:/usr/lib/hbase/lib/client-facing-thirdparty/jul-to-slf4j-1.7.33.jar:/usr/lib/hbase/lib/client-facing-thirdparty/reload4j-1.2.19.jar:/usr/lib/hbase/lib/client-facing-thirdparty/slf4j-api-1.7.33.jar:/usr/lib/hbase/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar
> Among above, 
> /usr/lib/hbase/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar should 
> be excluded but as slf4j-log4j before
> This will impact the downstream users 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (HBASE-27244) bin/hbase still use slf4j-log4j while reload4j in place

2022-07-26 Thread Dong0829 (Jira)
Dong0829 created HBASE-27244:


 Summary: bin/hbase still use slf4j-log4j while reload4j in place
 Key: HBASE-27244
 URL: https://issues.apache.org/jira/browse/HBASE-27244
 Project: HBase
  Issue Type: Bug
  Components: shell
Affects Versions: 2.4.13
Reporter: Dong0829


For the bin/hbase file, there are some class path set which will handle the 
slf4j-log4j before, but now in hbase branch 2, we upgrade to reload4j, but the 
hbase file not upgrade, for example, if we run mapredcp:

hbase mapredcp:

/usr/lib/hbase/lib/shaded-clients/hbase-shaded-mapreduce-2.4.12.jar:/usr/lib/hbase/lib/client-facing-thirdparty/audience-annotations-0.5.0.jar:/usr/lib/hbase/lib/client-facing-thirdparty/commons-logging-1.2.jar:/usr/lib/hbase/lib/client-facing-thirdparty/htrace-core4-4.2.0-incubating.jar:/usr/lib/hbase/lib/client-facing-thirdparty/jcl-over-slf4j-1.7.33.jar:/usr/lib/hbase/lib/client-facing-thirdparty/jul-to-slf4j-1.7.33.jar:/usr/lib/hbase/lib/client-facing-thirdparty/reload4j-1.2.19.jar:/usr/lib/hbase/lib/client-facing-thirdparty/slf4j-api-1.7.33.jar:/usr/lib/hbase/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar


Among above, 
/usr/lib/hbase/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar should be 
excluded but as slf4j-log4j before

This will impact the downstream users 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Comment Edited] (HBASE-27116) Non-interactive missing for the hbase-shell

2022-06-13 Thread Dong0829 (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-27116?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17553851#comment-17553851
 ] 

Dong0829 edited comment on HBASE-27116 at 6/14/22 1:45 AM:
---

After a add back the eval_io, its working well for the non-interactive

https://github.com/apache/hbase/pull/4531


was (Author: li0829):
https://github.com/apache/hbase/pull/4531

> Non-interactive missing for the hbase-shell
> ---
>
> Key: HBASE-27116
> URL: https://issues.apache.org/jira/browse/HBASE-27116
> Project: HBase
>  Issue Type: Bug
>  Components: shell
>Affects Versions: 2.4.12
>Reporter: Dong0829
>Priority: Major
>
> During test 2.4.12, we found a lot of our integration testing failure for the 
> non-interactive mode in hbase-shell, looks like in 2.4.12, we removed the 
> "shell.eval_io" for the non-interactive shell, this caused the input/output 
> handle behavior for shell is the same for interactive and non-interactive 
> which caused unexpected error, for example:
>  
> ```
> echo -e "disable_all '.*'\ny" | hbase shell -n
> =Old version 2.4.4=
> t1
> Disable the above 1 tables (y/n)?
> 1 tables successfully disabled
> Took 0.7811 seconds
> =New version 2.4.12=
> hbase:001:0> disable_all '.*'t1
> test_tableDisable the above 2 tables (y/n)?
> Took 0.5270 seconds  
> NoMethodError: undefined method `chomp' for nil:NilClass
>  command at 
> uri:classloader:/shell/commands/disable_all.rb:41
> command_safe at uri:classloader:/shell/commands.rb:49
>   translate_hbase_exceptions at uri:classloader:/shell/commands.rb:122
> command_safe at uri:classloader:/shell/commands.rb:49
> 
>  run at 
> uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/irb.rb:427
>at classpath:/jar-bootstrap.rb:223}}
> ```



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Updated] (HBASE-27116) Non-interactive missing for the hbase-shell

2022-06-13 Thread Dong0829 (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-27116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dong0829 updated HBASE-27116:
-
Status: Patch Available  (was: Open)

https://github.com/apache/hbase/pull/4531

> Non-interactive missing for the hbase-shell
> ---
>
> Key: HBASE-27116
> URL: https://issues.apache.org/jira/browse/HBASE-27116
> Project: HBase
>  Issue Type: Bug
>  Components: shell
>Affects Versions: 2.4.12
>Reporter: Dong0829
>Priority: Major
>
> During test 2.4.12, we found a lot of our integration testing failure for the 
> non-interactive mode in hbase-shell, looks like in 2.4.12, we removed the 
> "shell.eval_io" for the non-interactive shell, this caused the input/output 
> handle behavior for shell is the same for interactive and non-interactive 
> which caused unexpected error, for example:
>  
> ```
> echo -e "disable_all '.*'\ny" | hbase shell -n
> =Old version 2.4.4=
> t1
> Disable the above 1 tables (y/n)?
> 1 tables successfully disabled
> Took 0.7811 seconds
> =New version 2.4.12=
> hbase:001:0> disable_all '.*'t1
> test_tableDisable the above 2 tables (y/n)?
> Took 0.5270 seconds  
> NoMethodError: undefined method `chomp' for nil:NilClass
>  command at 
> uri:classloader:/shell/commands/disable_all.rb:41
> command_safe at uri:classloader:/shell/commands.rb:49
>   translate_hbase_exceptions at uri:classloader:/shell/commands.rb:122
> command_safe at uri:classloader:/shell/commands.rb:49
> 
>  run at 
> uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/irb.rb:427
>at classpath:/jar-bootstrap.rb:223}}
> ```



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Updated] (HBASE-27116) Non-interactive missing for the hbase-shell

2022-06-13 Thread Dong0829 (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-27116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dong0829 updated HBASE-27116:
-
Description: 
During test 2.4.12, we found a lot of our integration testing failure for the 
non-interactive mode in hbase-shell, looks like in 2.4.12, we removed the 
"shell.eval_io" for the non-interactive shell, this caused the input/output 
handle behavior for shell is the same for interactive and non-interactive which 
caused unexpected error, for example:

 

```

echo -e "disable_all '.*'\ny" | hbase shell -n


=Old version 2.4.4=

t1

Disable the above 1 tables (y/n)?

1 tables successfully disabled
Took 0.7811 seconds



=New version 2.4.12=


hbase:001:0> disable_all '.*'t1
test_tableDisable the above 2 tables (y/n)?
Took 0.5270 seconds  

NoMethodError: undefined method `chomp' for nil:NilClass
 command at 
uri:classloader:/shell/commands/disable_all.rb:41
command_safe at uri:classloader:/shell/commands.rb:49
  translate_hbase_exceptions at uri:classloader:/shell/commands.rb:122
command_safe at uri:classloader:/shell/commands.rb:49

 run at 
uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/irb.rb:427
   at classpath:/jar-bootstrap.rb:223}}

```

  was:
During test 2.4.12, we found a lot of our integration testing failure for the 
non-interactive mode in hbase-shell, looks like in 2.4.12, we removed the 
"shell.eval_io" for the non-interactive shell, this caused the input/output 
handle behavior for shell is the same which caused unexpected error, for 
example:

 

```

echo -e "disable_all '.*'\ny" | hbase shell -n


=Old version 2.4.4=

t1

Disable the above 1 tables (y/n)?

1 tables successfully disabled
Took 0.7811 seconds



=New version 2.4.12=


hbase:001:0> disable_all '.*'t1
test_tableDisable the above 2 tables (y/n)?
Took 0.5270 seconds  

NoMethodError: undefined method `chomp' for nil:NilClass
 command at 
uri:classloader:/shell/commands/disable_all.rb:41
command_safe at uri:classloader:/shell/commands.rb:49
  translate_hbase_exceptions at uri:classloader:/shell/commands.rb:122
command_safe at uri:classloader:/shell/commands.rb:49

 run at 
uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/irb.rb:427
   at classpath:/jar-bootstrap.rb:223}}

```


> Non-interactive missing for the hbase-shell
> ---
>
> Key: HBASE-27116
> URL: https://issues.apache.org/jira/browse/HBASE-27116
> Project: HBase
>  Issue Type: Bug
>  Components: shell
>Affects Versions: 2.4.12
>Reporter: Dong0829
>Priority: Major
>
> During test 2.4.12, we found a lot of our integration testing failure for the 
> non-interactive mode in hbase-shell, looks like in 2.4.12, we removed the 
> "shell.eval_io" for the non-interactive shell, this caused the input/output 
> handle behavior for shell is the same for interactive and non-interactive 
> which caused unexpected error, for example:
>  
> ```
> echo -e "disable_all '.*'\ny" | hbase shell -n
> =Old version 2.4.4=
> t1
> Disable the above 1 tables (y/n)?
> 1 tables successfully disabled
> Took 0.7811 seconds
> =New version 2.4.12=
> hbase:001:0> disable_all '.*'t1
> test_tableDisable the above 2 tables (y/n)?
> Took 0.5270 seconds  
> NoMethodError: undefined method `chomp' for nil:NilClass
>  command at 
> uri:classloader:/shell/commands/disable_all.rb:41
> command_safe at uri:classloader:/shell/commands.rb:49
>   translate_hbase_exceptions at uri:classloader:/shell/commands.rb:122
> command_safe at uri:classloader:/shell/commands.rb:49
> 
>  run at 
> uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/irb.rb:427
>at classpath:/jar-bootstrap.rb:223}}
> ```



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Updated] (HBASE-27116) Non-interactive missing for the hbase-shell

2022-06-13 Thread Dong0829 (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-27116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dong0829 updated HBASE-27116:
-
Description: 
During test 2.4.12, we found a lot of our integration testing failure for the 
non-interactive mode in hbase-shell, looks like in 2.4.12, we removed the 
"shell.eval_io" for the non-interactive shell, this caused the input/output 
handle behavior for shell is the same which caused unexpected error, for 
example:

 

```

echo -e "disable_all '.*'\ny" | hbase shell -n


=Old version 2.4.4=

t1

Disable the above 1 tables (y/n)?

1 tables successfully disabled
Took 0.7811 seconds



=New version 2.4.12=


hbase:001:0> disable_all '.*'t1
test_tableDisable the above 2 tables (y/n)?
Took 0.5270 seconds  

NoMethodError: undefined method `chomp' for nil:NilClass
 command at 
uri:classloader:/shell/commands/disable_all.rb:41
command_safe at uri:classloader:/shell/commands.rb:49
  translate_hbase_exceptions at uri:classloader:/shell/commands.rb:122
command_safe at uri:classloader:/shell/commands.rb:49

 run at 
uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/irb.rb:427
   at classpath:/jar-bootstrap.rb:223}}

```

  was:
During test 2.4.12, we found a lot of our integration testing failure for the 
non-interactive mode in hbase-shell, looks like in 2.4.12, we removed the 
"shell.eval_io" for the non-interactive shell, this caused the input/output 
handle behavior for shell is the same which caused unexpected error, for 
example:

 

```

echo -e "disable_all '.*'\ny" | hbase shell -n


=Old version 2.4.4=

t1

Disable the above 1 tables (y/n)?1 tables successfully disabled
Took 0.7811 seconds



=New version 2.4.12=


hbase:001:0> disable_all '.*'t1
test_tableDisable the above 2 tables (y/n)?
Took 0.5270 seconds  

NoMethodError: undefined method `chomp' for nil:NilClass
 command at 
uri:classloader:/shell/commands/disable_all.rb:41
command_safe at uri:classloader:/shell/commands.rb:49
  translate_hbase_exceptions at uri:classloader:/shell/commands.rb:122
command_safe at uri:classloader:/shell/commands.rb:49

 run at 
uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/irb.rb:427
   at classpath:/jar-bootstrap.rb:223}}

```


> Non-interactive missing for the hbase-shell
> ---
>
> Key: HBASE-27116
> URL: https://issues.apache.org/jira/browse/HBASE-27116
> Project: HBase
>  Issue Type: Bug
>  Components: shell
>Affects Versions: 2.4.12
>Reporter: Dong0829
>Priority: Major
>
> During test 2.4.12, we found a lot of our integration testing failure for the 
> non-interactive mode in hbase-shell, looks like in 2.4.12, we removed the 
> "shell.eval_io" for the non-interactive shell, this caused the input/output 
> handle behavior for shell is the same which caused unexpected error, for 
> example:
>  
> ```
> echo -e "disable_all '.*'\ny" | hbase shell -n
> =Old version 2.4.4=
> t1
> Disable the above 1 tables (y/n)?
> 1 tables successfully disabled
> Took 0.7811 seconds
> =New version 2.4.12=
> hbase:001:0> disable_all '.*'t1
> test_tableDisable the above 2 tables (y/n)?
> Took 0.5270 seconds  
> NoMethodError: undefined method `chomp' for nil:NilClass
>  command at 
> uri:classloader:/shell/commands/disable_all.rb:41
> command_safe at uri:classloader:/shell/commands.rb:49
>   translate_hbase_exceptions at uri:classloader:/shell/commands.rb:122
> command_safe at uri:classloader:/shell/commands.rb:49
> 
>  run at 
> uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/irb.rb:427
>at classpath:/jar-bootstrap.rb:223}}
> ```



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Created] (HBASE-27116) Non-interactive missing for the hbase-shell

2022-06-13 Thread Dong0829 (Jira)
Dong0829 created HBASE-27116:


 Summary: Non-interactive missing for the hbase-shell
 Key: HBASE-27116
 URL: https://issues.apache.org/jira/browse/HBASE-27116
 Project: HBase
  Issue Type: Bug
  Components: shell
Affects Versions: 2.4.12
Reporter: Dong0829


During test 2.4.12, we found a lot of our integration testing failure for the 
non-interactive mode in hbase-shell, looks like in 2.4.12, we removed the 
"shell.eval_io" for the non-interactive shell, this caused the input/output 
handle behavior for shell is the same which caused unexpected error, for 
example:

 

```

echo -e "disable_all '.*'\ny" | hbase shell -n


=Old version 2.4.4=

t1

Disable the above 1 tables (y/n)?1 tables successfully disabled
Took 0.7811 seconds



=New version 2.4.12=


hbase:001:0> disable_all '.*'t1
test_tableDisable the above 2 tables (y/n)?
Took 0.5270 seconds  

NoMethodError: undefined method `chomp' for nil:NilClass
 command at 
uri:classloader:/shell/commands/disable_all.rb:41
command_safe at uri:classloader:/shell/commands.rb:49
  translate_hbase_exceptions at uri:classloader:/shell/commands.rb:122
command_safe at uri:classloader:/shell/commands.rb:49

 run at 
uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/irb.rb:427
   at classpath:/jar-bootstrap.rb:223}}

```



--
This message was sent by Atlassian Jira
(v8.20.7#820007)