9608 (java9)

-- 
Jeff Jirsa


> On Apr 2, 2018, at 3:45 AM, Jason Brown <jasedbr...@gmail.com> wrote:
> 
> The only additional tickets I'd like to mention are:
> 
> https://issues.apache.org/jira/browse/CASSANDRA-13971 - Automatic
> certificate management using Vault
> - Stefan's Vault integration work. A sub-ticket, CASSANDRA-14102, addresses
> encryption at-rest, subsumes CASSANDRA-9633 (SSTable encryption) - which I
> doubt I would be able to get to any time this year. It would definitely be
> nice to have a clarified encryption/security story for 4.0.
> 
> https://issues.apache.org/jira/browse/CASSANDRA-11990 - Address rows rather
> than partitions in SASI
> - a nice update for SASI, but not critical.
> 
> -Jason
> 
>> On Sat, Mar 31, 2018 at 6:53 PM, Ben Bromhead <b...@instaclustr.com> wrote:
>> 
>> Apologies all, I didn't realize I was responding to this discussion only on
>> the @user list. One of the perils of responding to a thread that is on both
>> user and dev...
>> 
>> For context, I have included my response to Kurt's previous discussion on
>> this topic as it only ended up on the user list.
>> 
>> *After some further discussions with folks offline, I'd like to revive this
>> discussion. *
>> 
>> *As Kurt mentioned, to keep it simple I if we can simply build consensus
>> around what is in for 4.0 and what is out. We can then start the process of
>> working off a 4.0 branch towards betas and release candidates. Again as
>> Kurt mentioned, assigning a timeline to it right now is difficult, but
>> having a firm line in the sand around what features/patches are in, then
>> limiting future 4.0 work to bug fixes will give folks a less nebulous
>> target to work on. *
>> 
>> *The other thing to mention is that once we have a 4.0 branch to work off,
>> we at Instaclustr have a commitment to dogfooding the release candidates on
>> our internal staging and internal production workloads before 4.0 becomes
>> generally available. I know other folks have similar commitments and simply
>> having a 4.0 branch with a clear list of things that are in or out will
>> allow everyone to start testing and driving towards a quality release. *
>> 
>> *The other thing is that there are already a large number of changes ready
>> for 4.0, I would suggest not recommending tickets for 4.0 that have not yet
>> been finished/have outstanding work unless you are the person working on it
>> (or are offering to work on it instead) and can get it ready for review in
>> a timely fashion. That way we can build a more realistic working target.
>> For other major breaking changes, there is always 5.0 or 4.1 or whatever we
>> end up doing :)*
>> 
>> Thinking further about it, I would suggest a similar process that was
>> applied to releasing 3.0, in order to get to 4.0:
>> 
>>   - Clean up ticket labeling. Move tickets unlikely to make it / be worked
>>   on for 4.0 to something else (e.g. 4.x or whatever).
>>   - Tickets labeled 4.0 will be the line in the sand, with some trigger
>>   ("done") event where all features not done by a certain event will
>> simply
>>   move into the next release. For the 3.0 branch, this occurred after a
>>   large review of 8099. For 4.0 it could simply be resolving all current
>>   blockers/major tickets tagged 4.0... doesn't have to be / nor is it
>>   something I would strongly advocate.
>>   - Once we hit this "done" event. Cut a Cassandra-4.0 branch and start
>>   the alpha/beta/rc cycle from that branch, with only bugfixes going into
>>   it
>>   - This, in my mind, is similar to the 3.0 approach
>>   https://mail-archives.apache.org/mod_mbox/cassandra-dev/
>> 201503.mbox/%3CCALdd-zjAyiTbZksMeq2LxGwLF5LPhoi_
>> 4vsjy8JBHBRnsxH%3D8A%40mail.gmail.com%3E,
>>   but without the subsequent tick-tock :)
>> 
>> There are currently 3 open blockers tagged 4.0, some are old and probably
>> not really blockers anymore, there are other tickets that may/should be
>> blockers on 4.0:
>> 
>>   - https://issues.apache.org/jira/browse/CASSANDRA-13951
>>   - https://issues.apache.org/jira/browse/CASSANDRA-13994
>>   - https://issues.apache.org/jira/browse/CASSANDRA-12042
>> 
>> In terms of major tickets that I would like to see land:
>> 
>>   - https://issues.apache.org/jira/browse/CASSANDRA-7622 Virtual Tables
>>   - https://issues.apache.org/jira/browse/CASSANDRA-13628 Internode netty
>>   - https://issues.apache.org/jira/browse/CASSANDRA-13475 Pluggable
>> Storage
>>   - https://issues.apache.org/jira/browse/CASSANDRA-9633 SSTable
>> encryption
>> 
>> Ben
>> 
>>> On Mon, Feb 12, 2018 at 11:26 PM Jeff Jirsa <jji...@gmail.com> wrote:
>>> 
>>> 
>>> Advantages of cutting a release sooner than later:
>>> 1) The project needs to constantly progress forward. Releases are the
>> most
>>> visible part of that.
>>> 2) Having a huge changelog in a release increases the likelihood of bugs
>>> that take time to find.
>>> 
>>> Advantages of a slower release:
>>> 1) We don't do major versions often, and when we do breaking changes
>>> (protocol, file format, etc), we should squeeze in as many as possible to
>>> avoid having to roll new majors
>>> 2) There are probably few people actually running 3.11 at scale, so
>>> probably few people actually testing trunk.
>>> 
>>> In terms of "big" changes I'd like to see land, the ones that come to
>> mind
>>> are:
>>> 
>>> https://issues.apache.org/jira/browse/CASSANDRA-9754 - "Birch" (changes
>>> file format)
>>> https://issues.apache.org/jira/browse/CASSANDRA-13442 - Transient
>>> Replicas (probably adds new replication strategy or similar)
>>> https://issues.apache.org/jira/browse/CASSANDRA-13628 - Rest of the
>>> internode netty stuff (no idea if this changes internode stuff, but I bet
>>> it's a lot easier if it lands on a major)
>>> https://issues.apache.org/jira/browse/CASSANDRA-7622 - Virtual Tables
>>> (selfish inclusion, probably doesn't need to be a major at all, and I
>>> wouldn't even lose sleep if it slips, but I'd like to see it land)
>>> 
>>> Stuff I'm ok with slipping to 4.X or 5.0, but probably needs to land on a
>>> major because we'll change something big (like gossip, or the way schema
>> is
>>> passed, etc):
>>> 
>>> https://issues.apache.org/jira/browse/CASSANDRA-9667 - Strongly
>>> consistent membership
>>> https://issues.apache.org/jira/browse/CASSANDRA-10699 - Strongly
>>> consistent schema
>>> 
>>> All that said, what I really care about is building confidence in the
>>> release, which means an extended testing cycle. If all of those patches
>>> landed tomorrow, I'd still expect us to be months away from a release,
>>> because we need to bake the next major - there's too many changes to
>> throw
>>> out an alpha/beta/rc and hope someone actually runs it.
>>> 
>>> I don't believe Q3/Q4 is realistic, but I may be biased (or jaded). It's
>>> possible Q3/Q4 alpha/beta is realistic, but definitely not a release.
>>> 
>>> 
>>> 
>>> 
>>> On Sun, Feb 11, 2018 at 8:29 PM, kurt greaves <k...@instaclustr.com>
>>> wrote:
>>> 
>>>> Hi friends,
>>>> *TL;DR: Making a plan for 4.0, ideally everyone interested should
>> provide
>>>> up to two lists, one for tickets they can contribute resources to
>> getting
>>>> finished, and one for features they think would be desirable for 4.0,
>> but
>>>> not necessarily have the resources to commit to helping with.*
>>>> 
>>>> So we had that Roadmap for 4.0 discussion last year, but there was never
>>>> a conclusion or a plan that came from it. Times getting on and the
>> changes
>>>> list for 4.0 is getting pretty big. I'm thinking it would probably make
>>>> sense to define some goals to getting 4.0 released/have an actual plan.
>> 4.0
>>>> is already going to be quite an unwieldy release with a lot of testing
>>>> required.
>>>> 
>>>> Note: the following is open to discussion, if people don't like the plan
>>>> feel free to speak up. But in the end it's a pretty basic plan and I
>> don't
>>>> think we should over-complicate it, I also don't want to end up in a
>>>> discussion where we "make a plan to make a plan". Regardless of whatever
>>>> plan we do end up following it would still be valuable to have a list of
>>>> tickets for 4.0 which is the overall goal of this email - so let's not
>> get
>>>> too worked up on the details just yet (save that for after I
>>>> summarise/follow up).
>>>> 
>>>> // TODO
>>>> I think the best way to go about this would be for us to come up with a
>>>> list of JIRA's that we want included in 4.0, tag these as 4.0, and all
>>>> other improvements as 4.x. We can then aim to release 4.0 once all the
>> 4.0
>>>> tagged tickets (+bug fixes/blockers) are complete.
>>>> 
>>>> Now, the catch is that we obviously don't want to include too many
>>>> tickets in 4.0, but at the same time we want to make sure 4.0 has an
>>>> appealing feature set for both users/operators/developers. To minimise
>>>> scope creep I think the following strategy will help:
>>>> 
>>>> We should maintain two lists:
>>>> 
>>>>   1. JIRA's that people want in 4.0 and can commit resources to getting
>>>>   them implemented in 4.0.
>>>>   2. JIRA's that people simply think would be desirable for 4.0, but
>>>>   currently don't have anyone assigned to them or planned assignment.
>> It
>>>>   would probably make sense to label these with an additional tag in
>> JIRA. *(User's
>>>>   please feel free to point out what you want here)*
>>>> 
>>>> From list 1 will come our source of truth for when we release 4.0.
>> (after
>>>> aggregating a list I will summarise and we can vote on it).
>>>> 
>>>> List 2 would be the "hopeful" list, where stories can be picked up from
>>>> if resourcing allows, or where someone comes along and decides it's good
>>>> enough to work on. I guess we can also base this on a vote system if we
>>>> reach the point of including some of them. (but for the moment it's
>> purely
>>>> to get an idea of what users actually want).
>>>> 
>>>> Please don't refrain from listing something that's already been
>>>> mentioned. The purpose is to get an idea of everyone's
>> priorities/interests
>>>> and the resources available. We will need multiple resources for each
>>>> ticket, so anywhere we share an interest will make for a lot easier work
>>>> sharing.
>>>> 
>>>> Note that we are only talking about improvements here. Bugs will be
>>>> treated the same as always, and major issues/regressions we'll need to
>> fix
>>>> prior to 4.0 anyway.
>>>> 
>>>> TIME FRAME
>>>> Generally I think it's a bad idea to commit to any hard deadline, but we
>>>> should have some time frames in mind. My idea would be to aim for a Q3/4
>>>> 2018 release, and as we go we just review the outstanding improvements
>> and
>>>> decide whether it's worth pushing it back or if we've got enough to
>>>> release. I suppose keep this time frame in mind when choosing your
>> tickets.
>>>> 
>>>> We can aim for an earlier date (midyear?) but I figure the
>>>> testing/validation/bugfixing period prior to release might drag on a
>> bit so
>>>> being a bit conservative here.
>>>> The main goal would be to not let list 1 grow unless we're well ahead,
>>>> and only cull from it if we're heavily over-committed or we decide the
>>>> improvement can wait. I assume this all sounds like common sense but
>>>> figured it's better to spell it out now.
>>>> 
>>>> 
>>>> NEXT STEPS
>>>> After 2 weeks/whenever the discussion dies off I'll consolidate all the
>>>> tickets, relevant comments and follow up with a summary, where we can
>>>> discuss/nitpick issues and come up with a final list to go ahead with.
>>>> 
>>>> On a side note, in conjunction with this effort we'll obviously have to
>>>> do something about validation and testing. I'll keep that out of this
>> email
>>>> for now, but there will be a follow up so that those of us willing to
>> help
>>>> validate/test trunk can avoid duplicating effort.
>>>> 
>>>> REVIEW
>>>> This is the list of "huge/breaking" tickets that got mentioned in the
>>>> last roadmap discussion and their statuses. This is not terribly
>> important
>>>> but just so we can keep in mind what we previously talked about. I
>> think we
>>>> leave it up to the relevant contributors to decide whether they want to
>> get
>>>> the still open tickets into 4.0.
>>>> 
>>>> CASSANDRA-9425 Immutable node-local schema
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-9425> - Committed
>>>> CASSANDRA-10699 Strongly consistent schema alterations
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-10699> - Open, no
>>>> discussion in quite some time.
>>>> CASSANDRA-12229 NIO streaming
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-12229> - Committed
>>>> CASSANDRA-8457 NIO messaging
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-8457> - Committed
>>>> CASSANDRA-12345 Gossip 2.0
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-12345> - Open, no sign
>>>> of any action.
>>>> CASSANDRA-9754 Make index info heap friendly for large CQL partitions
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-9754> - In progress
>> but
>>>> no update in a long time.
>>>> CASSANDRA-11559 enhanced node representation
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-11559> - Open, no
>>>> change since early 2016.
>>>> CASSANDRA-6246 epaxos
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-6246> - In progress
>> but
>>>> no update since Feb 2017.
>>>> CASSANDRA-7544 storage port configurable per node
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-7544> - Committed
>>>> CASSANDRA-11115 remove thrift support
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-11115> - Committed
>>>> CASSANDRA-10857 dropping compact storage
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-10857> - Committed
>>>> 
>>>> To start us off...
>>>> And here are my lists to get us started.
>>>> 1.
>>>> CASSANDRA-8460 - Tiered/Cold storage for TWCS
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-8460>
>>>> CASSANDRA-12783 - Batchlog redesign
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-12783>
>>>> CASSANDRA-11559 - Enchance node representation
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-11559>
>>>>    CASSANDRA-12344 - Forward writes to replacement node with same
>>>> address <https://issues.apache.org/jira/browse/CASSANDRA-12344>
>>>> CASSANDRA-8119 - More expressive Consistency Levels
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-8119>
>>>> CASSANDRA-14210 - Optimise SSTables upgrade task scheduling
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-14210>
>>>> CASSANDRA-10540 - RangeAwareCompaction
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-10540>
>>>> 
>>>> 
>>>> 2:
>>>> CASSANDRA-10726 - Read repair inserts should not be blocking
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-10726>
>>>> CASSANDRA-9754 - Make index info heap friendly for large CQL partitions
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-9754>
>>>> CASSANDRA-12294 - LDAP auth
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-12294>
>>>> CASSANDRA-12151 - Audit logging
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-12151>
>>>> CASSANDRA-10495 - Fix streaming with vnodes
>>>> <https://issues.apache.org/jira/browse/CASSANDRA-10495>
>>>> 
>>>> Also, here's some handy JQL to start you off:
>>>> project = CASSANDRA AND fixVersion in (4.x, 4.0) AND issue in
>>>> watchedIssues() AND status != Resolved
>>>> 
>>>> 
>>> --
>> Ben Bromhead
>> CTO | Instaclustr <https://www.instaclustr.com/>
>> +1 650 284 9692
>> Reliability at Scale
>> Cassandra, Spark, Elasticsearch on AWS, Azure, GCP and Softlayer
>> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
For additional commands, e-mail: dev-h...@cassandra.apache.org

Reply via email to