The Maximum Number of Versions for a Column Family applies to the row. In your case, subsequent writes cause the max versions to be reached, leading to the behavior you observed.
See also http://hbase.apache.org/book.html#specify.number.of.versions Cheers On Sun, Dec 13, 2015 at 2:39 PM, Mike Thomsen <[email protected]> wrote: > I think our TTL is whatever is or functionally is "forever." We have a max > of 3 versions on those column families. When I do that put several times > (it's in a Storm topology, so it might get sent a dozen times if another > bolt fails), will that overwrite just the affected cells or affect > everything in the column family or even the entire row? > > Thanks, > > Mike > > On Sun, Dec 13, 2015 at 5:14 PM, Ted Yu <[email protected]> wrote: > > > The put for q4, q5, q6 and q7 wouldn't overwrite existing rows. > > > > When were the columns q1 to q3 written ? > > What is the TTL for your table ? > > > > Thanks > > > > On Sun, Dec 13, 2015 at 12:36 PM, Mike Thomsen <[email protected]> > > wrote: > > > > > I noticed that our test data set is suddenly missing a lot of data, > and I > > > am wondering if it's because I'm misunderstanding how HBase handles > puts. > > > > > > Suppose we have 3 families: ca, cb and cc. > > > > > > Before on row abcde-fgh-ijkl > > > > > > ca:q1=.... > > > ca:q2=.... > > > ca:q3=.... > > > cb:q1=.... > > > cb:q2=.... > > > cc:q1=.... > > > > > > We send a put that adds q4, q5, q6 and q7. > > > > > > Now the row looks like this: > > > ca:q4=.... > > > ca:q5=.... > > > ca:q6=.... > > > ca:q7=.... > > > > > > I thought a PUT would just add data. It looks like it's overwriting the > > > entire row. > > > > > >
