[
https://issues.apache.org/jira/browse/HBASE-3417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12978427#action_12978427
]
stack commented on HBASE-3417:
------------------------------
Should you add in A-Z in below just in case?
{code}
+ Pattern.compile("^([0-9a-f]+)(?:\\.(.+))?$");
{code}
Yeah, don't replace the '-' I'd say:
{code}
+ return new Path(dir, UUID.randomUUID().toString().replaceAll("-", "")
+ + ((suffix == null || suffix.length() <= 0) ? "" : suffix));
{code}
Then its easy to go back to UUID. You might want to do that so you can use the
128 bits as key in LRU rather than String?
Otherwise, +1 IFF verified backward compatible.
> CacheOnWrite is using the temporary output path for block names, need to use
> a more consistent block naming scheme
> ------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-3417
> URL: https://issues.apache.org/jira/browse/HBASE-3417
> Project: HBase
> Issue Type: Bug
> Components: io, regionserver
> Affects Versions: 0.92.0
> Reporter: Jonathan Gray
> Assignee: Jonathan Gray
> Priority: Critical
> Fix For: 0.92.0
>
> Attachments: HBASE-3417-v1.patch, HBASE-3417-v2.patch,
> HBASE-3417-v5.patch
>
>
> Currently the block names used in the block cache are built using the
> filesystem path. However, for cache on write, the path is a temporary output
> file.
> The original COW patch actually made some modifications to block naming stuff
> to make it more consistent but did not do enough. Should add a separate
> method somewhere for generating block names using some more easily mocked
> scheme (rather than just raw path as we generate a random unique file name
> twice, once for tmp and then again when moved into place).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.