[
https://issues.apache.org/jira/browse/GORA-94?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13417963#comment-13417963
]
Ed Kohlwey commented on GORA-94:
--------------------------------
actually, in a few places I iterate from 1 to n to avoid looking at the dirty
byte array. I'm probably going to add a constant somewhere called
FIRST_UNMANAGED_FIELD_INDEX or something to make this more explicit.
I've added some map wrapper classes to the persistency.impl package that track
structural changes to maps. There's no good way at the moment to track changes
to ByteBuffer, and I'm not totally sure of a way to track changes to
CharSequences (I'm currently thinking just extend Utf8). I was considering
using AspectJ but the best way to do it would probably be as a runtime bytecode
weaving thing which tends to be really slow. The option of having a class that
doesn't inherit from ByteBuffer is also an option, but that will probably
unnecessarily frustrate users. Another option could be to use a heuristic dirty
for these based on a hash thats computed whenever clearDirty() is called.
Serialization level compatibility is an issue. As I mentioned, this moves
storage of the dirty field information into Avro instead of writing it out
separately right before the serialized Avro object. But my understanding from a
discussion on the mailing list is that that was only actually written as part
of the Map/reduce intermediate output. There's also an issue with existing avro
objects that don't have the dirty field. In that case I guess you would need to
use a resolving decoder to read them in.
If you check out the code using Git, you have two branches: my branch and the
one you want to diff against. Then do
git diff branch1 branch2 > /path/to/my/new/patch
You can also use a tag name or a ref id in lieu of either of the branch names
(which you can hunt down in git log)
Or if you tell me what you want the diff against I'll make it and upload it.
The current version still has some bugs related to the cassandra patch that
just got merged into trunk, and the generated sample classes are missing from
the tutorial project.
> Upgrade to Apache Avro 1.7.x
> ----------------------------
>
> Key: GORA-94
> URL: https://issues.apache.org/jira/browse/GORA-94
> Project: Apache Gora
> Issue Type: Sub-task
> Components: build process, storage
> Affects Versions: 0.2
> Reporter: Lewis John McGibbney
> Assignee: Ed Kohlwey
> Fix For: 0.3
>
> Attachments: GORA-94-v2.patch, GORA-94.patch
>
>
> I am not sure what this involves as of yet but I have a small feeling that
> it's going to be some reasonably major work...
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira