Thursday, April 12, 2012

Neo4j 1.7.M03 - Feature Complete


The full general release of Neo4j 1.7 is now in view, with this milestone marking feature completeness. This 1.7.M03 release is recommended for migrating your test servers, client applications and drivers in anticipation of 1.7.GA, since there will be no more visible API changes.

Atomic Array -[:renamed_to]-> Garbage Collection Resistant

I think we can all agree, “there are only two hard problems in Computer Science: cache invalidation, naming things, and off-by-one errors.” (Cheers Tim Bray). Naturally, we started by creating a new cache, which focused on occupying a fixed size in memory with improved performance. Check.

Then, there’s the name. We liked the sound of Atomic Array Cache, because it sounds like something you could wield against hordes of invading aliens. But, in reality it was specifically identifying the implementation details of the cache. The actual behavior of the cache, the reason why you’d choose it over the other caches, is that by occupying a fixed amount of space in memory, it is effective at avoiding those horrid Garbage Collection pauses. Appropriately, we’ve renamed it to the Garbage Collection Resistant (GCR) cache, to reflect its purpose.

And off by one? Well, that is the tricky thing about the GCR cache: getting it configured correctly to actually have a good, responsive application takes some hard thinking. For now, we’re only including it with the enterprise edition of Neo4j, generally used when you’re going into large scale deployment and are tweaking every knob in your system.

Feedback Appreciated

We always appreciate your feedback, whether tweeting praise or concerns, or discussing things with us in the google group. Please go download Neo4j 1.7.M03 right now, and let us know what you think.



Cheers,
your friendly neighborhood graphistas

No comments: