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 <z11...@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. >