[
https://issues.apache.org/jira/browse/HBASE-9648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13776913#comment-13776913
]
Jean-Marc Spaggiari commented on HBASE-9648:
--------------------------------------------
Indeed. You're right. There was way more files than just one. I don't know why
I ignored that.
I'm not sure to get how it's related to HBASE-6059. Are you suggesting to
"simply" remove the test and do something like that? So if any other file need
to be compacted, it will be. I'm not sure we need to add any check for the last
store.
{code}
private ArrayList<StoreFile> selectExpiredStoreFiles(
ArrayList<StoreFile> candidates, long maxExpiredTimeStamp) {
if (candidates == null || candidates.size() == 0) return null;
ArrayList<StoreFile> expiredStoreFiles = null;
for (StoreFile storeFile : candidates) {
// If the storeFile is empty, then there is no need to compact it.
// Empty files don't have time range information.
if ((storeFile.getReader().getEntries() > 0)
&& (storeFile.getReader().getMaxTimestamp() < maxExpiredTimeStamp)) {
LOG.info("Deleting the expired store file by compaction: " +
storeFile.getPath()
+ " whose maxTimeStamp is " +
storeFile.getReader().getMaxTimestamp()
+ " while the max expired timestamp is " + maxExpiredTimeStamp);
if (expiredStoreFiles == null) {
expiredStoreFiles = new ArrayList<StoreFile>();
}
expiredStoreFiles.add(storeFile);
}
}
return expiredStoreFiles;
}
{code}
Also here is the list of files for reference.
{code}
-rw------- 1 hadoop supergroup 2194 2013-09-21 14:32
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/014ead47a9484d67b55205be16802ff1
-rw------- 1 hadoop supergroup 31321 2013-09-24 05:49
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/1305d625bd4a4be39a98ae4d91a66140
-rw------- 1 hadoop supergroup 1350 2013-09-24 10:31
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/1352e0828f974f08b1f3d7a9dff04abd
-rw------- 1 hadoop supergroup 4194 2013-09-21 10:38
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/17a546064bd840619816809ae0fc4c49
-rw------- 1 hadoop supergroup 1061 2013-09-20 22:55
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/1cb3df115da244288bd076968ab4ccf6
-rw------- 1 hadoop supergroup 1375 2013-08-24 10:17
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/1e41a96c49fc4e5ab59392d26935978d
-rw------- 1 hadoop supergroup 96296 2013-08-26 15:48
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/22d72fd897e34424b5420a96483a571e
-rw------- 1 hadoop supergroup 1356 2013-08-26 15:23
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/25fee1ffadbe42549bd0b7b13d782b72
-rw------- 1 hadoop supergroup 6229 2013-09-21 11:14
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/26289c777ec14dc5b7021b4d6b1050c5
-rw------- 1 hadoop supergroup 1223 2013-09-21 02:42
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/2757d7ba9c8448d6a3d5d46bd4d59758
-rw------- 1 hadoop supergroup 5302248 2013-08-24 02:22
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/2ec40943787246ea983608dd6591db24
-rw------- 1 hadoop supergroup 1596 2013-08-24 03:37
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/3157fd1cabe4483aaa4d9a21f75e4d88
-rw------- 1 hadoop supergroup 1338 2013-09-22 04:25
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/36b0f80a4a7b492f97358b64d879a2df
-rw------- 1 hadoop supergroup 3264 2013-09-21 12:05
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/39e249fcb532400daed73aed6689ceeb
-rw------- 1 hadoop supergroup 4549 2013-09-21 08:56
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/3bc9e2a566ad460a9b0ed336b2fb5ed9
-rw------- 1 hadoop supergroup 1630 2013-09-22 03:22
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/48026d08aae748f08aad59e4eea903be
-rw------- 1 hadoop supergroup 105395 2013-09-20 21:12
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/53198825f085401cbbd4322faa0e3aae
-rw------- 1 hadoop supergroup 3859 2013-09-21 09:09
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/71c2f9b2a8ff4c049fcc5a9a22af5cfe
-rw------- 1 hadoop supergroup 311688 2013-09-20 21:12
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/97ff16d6da974c30835c6e0acc7c737a
-rw------- 1 hadoop supergroup 1897 2013-08-24 08:43
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/a172d7577641434d82abcce88a433213
-rw------- 1 hadoop supergroup 3380 2013-09-21 13:04
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/be678e5c60534c65a012a798fbc7e284
-rw------- 1 hadoop supergroup 43710 2013-09-22 02:15
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/e2508a23acf1491f9d38b9a8594e41e8
-rw------- 1 hadoop supergroup 5409 2013-09-21 10:10
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/f432846182714b93a1c3df0f5835c09b
-rw------- 1 hadoop supergroup 491 2013-09-24 11:18
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/f7d8669cf7a047b98c1d3b13c16cfaec
-rw------- 1 hadoop supergroup 491 2013-09-24 11:18
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/fa1b8f6cc9584eb28365dcd8f10d3f0a
-rw------- 1 hadoop supergroup 491 2013-09-13 11:28
/hbase/compound3/5ab5fdfcf2aff2633e1d6d5089c96aa2/d/fca0882dc7624342a8f4fce4b89420ff
{code}
> collection one expired storefile causes it to be replaced by another expired
> storefile
> --------------------------------------------------------------------------------------
>
> Key: HBASE-9648
> URL: https://issues.apache.org/jira/browse/HBASE-9648
> Project: HBase
> Issue Type: Bug
> Components: Compaction
> Reporter: Sergey Shelukhin
> Assignee: Jean-Marc Spaggiari
> Attachments: HBASE-9648-v0-0.94.patch, HBASE-9648-v0-trunk.patch
>
>
> There's a shortcut in compaction selection that causes the selection of
> expired store files to quickly delete.
> However, there's also the code that ensures we write at least one file to
> preserve seqnum. This new empty file is "expired", because it has no data,
> presumably.
> So it's collected again, etc.
> This affects 94, probably also 96.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira