[
https://issues.apache.org/jira/browse/PHOENIX-2417?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James Taylor updated PHOENIX-2417:
----------------------------------
Attachment: PHOENIX-2417_final.patch
Minor tweak to rebased patch: removed unused encodedGuidePosts and maxLength
from PTableStats as these are in PGuidePosts (where they *are* used):
{code}
message PTableStats {
required bytes key = 1;
repeated bytes values = 2;
optional int64 guidePostsByteCount = 3;
optional int64 keyBytesCount = 4;
optional int32 guidePostsCount = 5;
optional PGuidePosts pGuidePosts = 6;
optional bytes encodedGuidePosts = 7;
optional int32 maxLength = 8;
}
{code}
+1 on the patch. Nice work, [~ankit.singhal]! I'll get this committed shortly.
I'll see if/how it transfers over to the 4.x branches, but I might ask you to
get me those if it doesn't apply clean-ish.
> Compress memory used by row key byte[] of guideposts
> ----------------------------------------------------
>
> Key: PHOENIX-2417
> URL: https://issues.apache.org/jira/browse/PHOENIX-2417
> Project: Phoenix
> Issue Type: Sub-task
> Reporter: James Taylor
> Assignee: Ankit Singhal
> Fix For: 4.7.0
>
> Attachments: PHOENIX-2417.patch, PHOENIX-2417_encoder.diff,
> PHOENIX-2417_final.patch, PHOENIX-2417_rebased.patch,
> PHOENIX-2417_rebased2.patch, PHOENIX-2417_v2_wip.patch, StatsUpgrade_wip.patch
>
>
> We've found that smaller guideposts are better in terms of minimizing any
> increase in latency for point scans. However, this increases the amount of
> memory significantly when caching the guideposts on the client. Guidepost are
> equidistant row keys in the form of raw byte[] which are likely to have a
> large percentage of their leading bytes in common (as they're stored in
> sorted order. We should use a simple compression technique to mitigate this.
> I noticed that Apache Parquet has a run length encoding - perhaps we can use
> that.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)