Replacing ivy with maven-ant-tasks

2011-01-18 Thread Stephen Connolly
Is this something that people are OK with?

It will result in the version details being specified from the
build.xml and not a separate ivy.xml

Which branch shall I target first... My preference is to target 0.7
and then when the modularization takes place in trunk/0.8 it will be
on top of the maven-ant-tasks changes.

If everyone is OK I'll create a JIRA against Core with fixVersion 0.7
and add my patch there.

-Stephen


Re: Replacing ivy with maven-ant-tasks

2011-01-18 Thread Stephen Connolly
On 18 January 2011 14:30, Eric Evans eev...@rackspace.com wrote:
 On Tue, 2011-01-18 at 13:13 +, Stephen Connolly wrote:
 Is this something that people are OK with?

 Why?  What are the advantages?

1. It will make deploying to central easier (as ivy does not deploy
correct poms, and maven-ant-tasks can generate correct poms)

2. _You_ seemed to think it would be better keeping all the version
information in build.xml rather than in a separate file

3. You seemed to think it might be a good idea when you saw the
mavebn-ant-tasks stuff for deploying to central

There's probably some more but those are the main drivers from my perspective.

Note Maven-Ant-Tasks is not Maven... it provides essentially the same
functionality as ivy only targetted exclusively at Maven
repositories... (which are the only really repository format (other
than p2) to take off)

-Stephen


Re: Avro in the Cassandra core

2011-01-18 Thread Jeremy Hanna

On Jan 17, 2011, at 9:01 PM, Eric Evans wrote:

 On Mon, 2011-01-17 at 12:12 -0500, Jake Luciani wrote:
 Some context: We have begun the process of removing Avro from the
 service layer CASSANDRA-926. We currently use Avro for schema
 migrations internally, and we have two open items that are using Avro
 for our internal file storage. CASSANDRA-1472 and CASSANDRA-674.
 
 FWIW, this should be done (removing the RPC interface).  Anything missed
 is deserving of a bug report
 
 My opinion is we need to control the lowest layers of the code and not
 rely on a third party library.  By using a third party library like
 Avro, it becomes a black box that we need to deeply understand and
 work around. Also, since Avro is developed separately we have another
 core dependency that could disrupt releases (say a bug in Avro).
 
 +1
 
 The Avro RPC interface was an experiment, and it was always the case
 that if it didn't supplant the Thrift interface as status quo, that it'd
 be removed.  However, as I remember it, part of the justification for
 using it in migrations was that it was already there.  In hindsight that
 was probably a mistake.
 
 Anyway, we have too many dependencies as it is, I'd rather move toward
 eliminating it entirely unless there is a very compelling reason not to
 (I don't think there is).

Just saw Stu's comment on CASSANDRA-1472:
I think that implementing a compressible block based file format is a 
non-trivial task, and that before we commit to re-implementing Avro's (in a 
bounded timeframe especially), we should review our requirements. This decision 
needs to be made for technical reasons and not grounded in NIH.

Is that a compelling reason to use avro for some of the internals or is that 
something that someone is willing to implement/maintain?  Just trying to bridge 
discussion here with comments on the ticket.

 
 -- 
 Eric Evans
 eev...@rackspace.com
 



Re: Proposal: fixed release schedule

2011-01-18 Thread Eric Evans
On Fri, 2011-01-14 at 13:11 -0600, Eric Evans wrote:
  Everyone on chrome commits to trunk first. I think the important
  change we could make is to keep everyone closer to trunk. We spend a
  good deal of effort back-porting patches between major versions. I
  think we should make the major versions less different. This would
  mean letting them live for shorter amounts of time and possibly 
  making them bugfix only. Currently we add new features in stable 
  branches, but I think if we made the major release schedule more 
  predictable people would be more comfortable with letting their new 
  feature wait until the next major version.
 
 I'll call your keep-close-to-trunk, and raise you a:
 
 *  branch as soon as all planned features land in trunk
 *  iteratively release betas w/ bug-fixes only
 *  release candidates are actual candidates for the final (not
 releases)
 
 The time between creating the branch and making the release should be
 as short as practical, and there should be no backward incompatible
 changes between the first beta, and final release.

The discussion seems to be petering out and I wonder if that means folks
are still trying to wrap their heads around everything, or if we have
consensus.

If we're in agreement on 4 months between releases, and feature-freezing
branches in the run-up, then that would leave us with say 7 weeks (give
or take) to land everything in trunk that we expect in the next release
(and I would think that at this point we'd at least have a good idea
what that'd be).


-- 
Eric Evans
eev...@rackspace.com