David,

I'd venture a guess that because you only set the scan maxVersions, when Accumulo minor compacted your 'rolling' table to flush those K/V pairs to disk, it deleted your first 6 versions that you saw when performing the scan.

You can determine if this is actually what happened by running your inserts below, and calling 'compact' on the table before performing the scan.

To fix this, try setting the same option with the minc and majc scope. Most likely (but don't quote me):

config -t rolling -s table.iterator.minc.vers.opt.maxVersions=7
config -t rolling -s table.iterator.majc.vers.opt.maxVersions=7

- Josh

On 4/10/2012 10:16 PM, David Medinets wrote:
I'm still thinking about how to use accumulo to calculate weekly
moving averages. I thought that using the maxVersions settings might
work to maintain the last 7 values. Then a program could simply sum
the values of a given row. So this is what I did:

bin/accumulo shell -u root -p password
createtable rolling
rolling>  config -t rolling -s table.iterator.scan.vers.opt.maxVersions=7
rolling>  insert row cf cq 1
rolling>  insert row cf cq 2
rolling>  insert row cf cq 3
rolling>  insert row cf cq 4
rolling>  insert row cf cq 5
rolling>  insert row cf cq 6
rolling>  insert row cf cq 7
rolling>  insert row cf cq 8
rolling>  scan
row cf:cq []    8
row cf:cq []    7
row cf:cq []    6
row cf:cq []    5
row cf:cq []    4
row cf:cq []    3
row cf:cq []    2

This is exactly what I wanted to see. So I wrote a simple scanner
program to read the table. Then I did another scan:

rolling>  scan
row cf:cq []    8

Where did the rest of the records go?

Reply via email to