accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eric Newton <eric.new...@gmail.com>
Subject Re: exception thrown during minor compaction
Date Tue, 01 Sep 2015 20:23:27 GMT
Unrelated to the error you are experiencing:

You can add a Constraint that will reject inserts with values other than 1
or -1.

-Eric



On Tue, Sep 1, 2015 at 3:24 PM, z11373 <z11373@outlook.com> wrote:

> Hi Josh,
> I figured it out that it's actually a human bug :-)
> There is existing code somewhere which I overlooked earlier, it wrote to
> the
> table with empty value, hence makes sense it's giving that error.
>
> I'll try to enforce the semantic from our use case, delete the row
> shouldn't
> happen, and instead it should insert with -1 as value, so I should be good
> here. I also tested deleting a single row, without re-insert, and that row
> not returned from running scan command, which is correct. I didn't try
> re-add that row, which I guess would hit that bug you guys mentioned.
>
> I have one more question, is it possible to keep the row with value is
> greater than 1? For example, let say I insert:
> ['foo', 1]
> ['foo', 1]
> ['bar', 1]
> ['foo', 1]
>
> The scan currently returns:
> ['bar', 1]
> ['foo', 3]
>
> I want it only returns:
> ['foo', 3]
>
> So basically, during compaction it doesn't include those with value = 1 to
> new files, hence this will also make the stats table small since it has so
> many rows with value = 1 (which we don't care). Hopefully the solution also
> can be used for value is other than 1 (i.e. keep rows with value > 10)
> It looks like I may be able to use the built-in RegEx filter for that, but
> perhaps there is better way?
>
> Oh, another thing that I observed during my testing:
>
> root@dev > setiter -t combiner2 -p 15 -scan -minc -majc -n sumcombiners
> -class org.apache.accumulo.core.iterators.user.SummingCombiner
> SummingCombiner interprets Values as Longs and adds them together.  A
> variety of encodings (variable length, fixed length, or string) are
> available
> ----------> set SummingCombiner parameter all, set to true to apply
> Combiner
> to every column, otherwise leave blank. if true, columns option will be
> ignored.: true
> ----------> set SummingCombiner parameter columns, <col fam>[:<col
> qual>]{,<col fam>[:<col qual>]} escape non-alphanum chars using %<hex>.:
> ----------> set SummingCombiner parameter lossy, if true, failed decodes
> are
> ignored. Otherwise combiner will error on failed decodes (default false):
> <TRUE|FALSE>:
> ----------> set SummingCombiner parameter type,
> <VARLEN|FIXEDLEN|STRING|fullClassName>:
> org.apache.accumulo.core.client.lexicoder.LongLexicoder
> 2015-09-01 15:22:46,587 [shell.Shell] ERROR:
> java.lang.IllegalArgumentException: bad encoder option
>
> Do you know why I got that error?
> 'org.apache.accumulo.core.client.lexicoder.LongLexicoder' should be the
> correct full class name.
>
>
> Thanks a lot,
> Z
>
>
>
> --
> View this message in context:
> http://apache-accumulo.1065345.n5.nabble.com/exception-thrown-during-minor-compaction-tp15010p15030.html
> Sent from the Developers mailing list archive at Nabble.com.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message