Hi,
First, congratulations on the lily-0.2 release! The binary
distribution already looks much more mature and easier to use than
0.1.
The -- understandable -- package-rename and the namespace-rename
for the vtags is likely to cause some work. Hopefully the new name
sticks :).
I have a question on deleted records: When I remove a record that has
several versions and later recreate it, it appears that the version
numbering is not reset, but instead continues to count up from the
latest deleted version number (observed using cdh3b3+patches and lily-
r4393). I guess this is due to all versions being stored under the
same hbase row key.
Is this intended? And can I work around this somehow? IMO a record
recreation would best be idempotent, as otherwise I would have to
maintain two version identifiers, one internal for lily and one
natural for SOLR.
Hi Bruno,
thanks for the explanation.
I can only guess as to how other applications work with record IDs,
On Nov 3, 5:24 pm, Bruno Dumon <br...@outerthought.org> wrote:
> When a delete is performed on HBase, it writes a delete marker (a
> 'thombstone') which tells that everything lower than a certain version
> number is deleted. As long as the thombstone is there, it is impossible to
> write anything with a version number lower than the one stored in the
> thombstone. It is only after the thombstone is processed by a major
> compaction, that those version numbers can be used again.
>
> So that left us with some options:
> * do not allow to re-create a record at all (as long as the delete has not
> been processed by a major compaction)
> * or continue the version numbering
but I imagine that users will often not be aware of the implications.
This alone might warrant to error out whenever re-using a record that
has not been compacted away yet (your first suggestion).
For us, the recreation of record does not happen during default
>
> Another possibility would be to translate the version numbers in Lily but
> that would complicate reading a record.
>
> In fact since record IDs are often UUIDs we thought the situation would not
> occur very often. Is it a common thing in your situation to delete and then
> recreate a record?
processing. It is usually only done during development / testing or
when an error happened during import. So I guess that I am fine with
manual major compactions (I’ll integrate it into our delete script).