Divesh Katta created HBASE-28641:
------------------------------------

             Summary: Hbase compaction is slow in 2.4.11 compared to hbase 1.x
                 Key: HBASE-28641
                 URL: https://issues.apache.org/jira/browse/HBASE-28641
             Project: HBase
          Issue Type: Improvement
          Components: Compaction
    Affects Versions: 2.4.11
            Reporter: Divesh Katta
         Attachments: image-2024-06-05-16-15-45-975.png, 
image-2024-06-05-16-17-34-685.png, image-2024-06-05-16-18-33-322.png, 
image-2024-06-05-16-22-33-464.png, image-2024-06-05-16-23-29-565.png

Hi Team,

we build an Hbase 2.4.11 cluster comprising HDFS and HBase components. However, 
during our performance testing, we observed that the HBase compaction process 
was taking longer than expected.

With identical configurations, in  HBase-1 cluster is completing compaction 
tasks in less time compared to the new Hbase 2  cluster.

Hbase1 cluster details:

HBASE: 1.1.2

Hbase2 cluster details

HBASE: 2.4.11

Please find the scre

enshot for the Compaction iteration and timeline:

!image-2024-06-05-16-15-45-975.png!

IN Hbase 1  COMPACTION TIME 

In the HBASE1 cluster with the same set of configurations and tables, we 
observed consistent behavior in terms of compaction time(3hrs).

Start Time: 1:30AM 
End Time: 4:30AM

!image-2024-06-05-16-17-34-685.png!

IN Hbase 2  COMPACTION TIME

Start Time: 1:30AM

End Time: 23:00PM+

!image-2024-06-05-16-18-33-322.png!

 

Actions Taken:

Tuning of HBase configurations related to compactions was performed initially 
but didn't yield significant improvement.

Observations:

We suspected that this absence of data encoding might be contributing to longer 
compaction times in HBase-2.

Scheduled two separate compactions for tables with and without DATA_ENCODING 
enabled in Hbase 2.

In the screenshot below, the first compaction started at 1:30 AM for 15 tables 
(total size exceeding 220TB+) with (DATA ENCODED=FAST_DIFF) enabled and this 
compaction completed by 2:30 AM. However, at 2:30 AM, we scheduled another 
compaction for only 6 tables, totalling over 60TB in size, but these tables 
were not enabled with DATA ENCODING , and this compaction is taking longer.

!image-2024-06-05-16-22-33-464.png!

After enabling DATA ENCODING for all the  tables in HBASE-2, we initiated 
compaction at 1:30 AM, which completed by 4:30 AM(3hrs)

Start Time: 1:30AM
End Time: 4:30 AM

!image-2024-06-05-16-23-29-565.png!

 

Noticed that tables with (DATA_ENCODING=FAST_DIFF) enabled underwent faster 
compactions compared to those without.


Upon comparing the debug logs of the two Hbase 2 clusters, we discovered that 
the cluster with (DATA_ENCODING=FAST_DIFF) enabled exhibited higher 
throughput(average throughput is 89.54 MB/Second), whereas the cluster with 
DATA_ENCODING disabled showed lower throughput(average throughput is 8.19 
MB/second,).

 

#DATA_ENCODED ENBALED Tables throughput

2024-04-02 03:11:58,956 INFO [regionserver/xxxxxxxx:16020-shortCompactions-0] 
throttle.PressureAwareThroughputController: 
803e9ef64aec8e526837c0477cc48884#scr#compaction#34672 average throughput is 
89.54 MB/second, slept 0 time(s) and total slept time is 0 ms. 21 active 
operations remaining, total limit is unlimited 2024-04-02 03:12:23,680 INFO 
[regionserver/usr-Hbase 1<XXXXX>201:16020-shortCompactions-7] 
throttle.PressureAwareThroughputController: 
82565df649e3e6eb53a1e168435204db#scr#compaction#34677 average throughput is 
65.02 MB/second, slept 0 time(s) and total slept time is 0 ms. 21 active 
operations remaining, total limit is unlimited

2024-04-02 02:45:46,538 DEBUG [regionserver/xxxxxx:16020-longCompactions-7] 
compactions.Compactor: Compaction progress: 
b746a46d64df25ca82571b10bb1e2c03#key#compaction#34484 128896600/371074603 
(34.74%), rate=17151.92 KB/sec, throughputController is 
DefaultCompactionThroughputController [maxThroughput=unlimited, 
activeCompactions=22] 2024-04-02 02:45:47,291 DEBUG [regionserver/usr-Hbase 
1<XXXX>201:16020-shortCompactions-0] compactions.Compactor: Compaction 
progress: a1338704db18a8fc613ad2c9a4561d65#key#compaction#34496 
90148941/110577879 (81.53%), rate=20950.64 KB/sec, throughputController is 
DefaultCompactionThroughputController [maxThroughput=unlimited, 
activeCompactions=22]

 

#DATA_ENCODED DISABLED tables throughput

2024-04-04 03:12:48,521 INFO [regionserver/xxxxxxx:16020-longCompactions-3] 
throttle.PressureAwareThroughputController: 
273b9d62b602ecd3e6df3d244f796c0b#key#compaction#185279 average throughput is 
8.91 MB/second, slept 0 time(s) and total slept time is 0 ms. 21 active 
operations remaining, total limit is unlimited 2024-04-04 03:14:02,793 INFO 
[regionserver/usr-Hbase 1<XXXXXXX>201:16020-longCompactions-2] 
throttle.PressureAwareThroughputController: 
11fff837daa7da3fa307ecbb457fe64d#key#compaction#185282 average throughput is 
8.19 MB/second, slept 0 time(s) and total slept time is 0 ms. 21 active 
operations remaining, total limit is unlimited

2024-04-03 02:46:21,165 DEBUG [regionserver/xxxxxxx:16020-shortCompactions-0] 
compactions.Compactor: Compaction progress: 
98748d4c25e15c623e43a3e42f03f5de#key#com paction#178586 2986892/73628890 
(4.06%), rate=9936.51 KB/sec, throughputController is 
DefaultCompactionThroughputController [maxThroughput=unlimited, 
activeCompactions=22] 2024-04-03 02:46:21,193 DEBUG 
[regionserver/:16020-longCompactions-0] compactions.Compactor: Compaction 
progress: ce578c37f0a8354afd6d37fa5ca9c7d7#key#comp


Need Help With: 
In Hbase 1 the compaction is consistently completing in 3 hours without data 
encoading. 
In hbase 2 Compaction without data encoading and compression it is taking 12 + 
hours. but with data encoading and compression we are able to finish it in 
approx 4-4.5 hours.



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

Reply via email to