[ 
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

Reply via email to