Re: [DISCUSS] Releases after 4.0

2021-01-27 Thread Benedict Elliott Smith
Perhaps we could also consider quarterly "develop" releases, so that we have 
pressure to maintain a shippable trunk? This provides some opportunity for more 
releases without incurring the project maintenance costs or user coordination 
costs. Something like a feature-incomplete mid-cycle RC, that a user wanting 
shiny features can grab, providing feedback throughout the development cycle.

On 26/01/2021, 14:11, "Benedict Elliott Smith"  wrote:

My preference is for a simple annual major release cadence, with minors as 
necessary. This is simple for the user community and developer community: 
support = x versions = x years.

I'd like to pair this with stricter merge criteria, so that we maintain a 
~shippable trunk, and we cut a release at ~the same time every year, whatever 
features are merged. We might have to get happy with reverting commits that 
break things.

I think faster cadences impose too much burden on the developer community 
for maintenance and the user community for both upgrades and making sense of 
what's going on. I think slower cadences collapse, as the release window begins 
to collect too many hopes and dreams.

My hope is that we get to a point where snapshots of trunk are safe to run, 
and that major contributors are ahead of the release window for internal 
consumption, rather than behind - this might also alleviate pressure for 
hitting release windows with features.




On 26/01/2021, 13:56, "Benjamin Lerer"  wrote:

 Hi everybody

It seems that there is a need to discuss how we will deal with releases
after 4.0
We are now relatively close from the 4.0 RC release so it make sense to 
me
to start discussing that subject especially as it has some impact on 
some
things like dropping support for python 2

The main questions are in my opinion:
1) What release cadence do we want to use for major/minor versions?
2) How do we plan to ensure the quality of the releases?

It might make sense to try a release cadence and see how it works out in
practice revisiting our decision if we feel the need for it.

One important thing to discuss with the cadence is the amount of time we
want to support the releases. 2.2 has been supported for more than 5 
years,
we might not be able to support releases for a similar time frame if we
release a version every 6 months for example.
To be sure that we are all on the same page regarding what minor and 
major
versions are and their naming: 4.1 would be a minor version 
(improvements
and features that don't break compatibility) and 5.0 would be a major
version (compatibility breakages)



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




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



Re: [DISCUSS] Releases after 4.0

2021-01-27 Thread Benjamin Lerer
>
> My preference is for a simple annual major release cadence, with minors as
> necessary.
>

I do not think that I fully understand your proposal. How do you define a
major and a minor release?
My understanding of a major release was a version that broke some of the
compatibilities. By consequence, once a breaking change has been introduced
it will not be possible to release a minor and we will have to wait for a
major release. In a similar way if no breaking change has been introduced,
does it make sense to release a major?




On Wed, Jan 27, 2021 at 11:21 AM Benedict Elliott Smith 
wrote:

> Perhaps we could also consider quarterly "develop" releases, so that we
> have pressure to maintain a shippable trunk? This provides some opportunity
> for more releases without incurring the project maintenance costs or user
> coordination costs. Something like a feature-incomplete mid-cycle RC, that
> a user wanting shiny features can grab, providing feedback throughout the
> development cycle.
>
> On 26/01/2021, 14:11, "Benedict Elliott Smith" 
> wrote:
>
> My preference is for a simple annual major release cadence, with
> minors as necessary. This is simple for the user community and developer
> community: support = x versions = x years.
>
> I'd like to pair this with stricter merge criteria, so that we
> maintain a ~shippable trunk, and we cut a release at ~the same time every
> year, whatever features are merged. We might have to get happy with
> reverting commits that break things.
>
> I think faster cadences impose too much burden on the developer
> community for maintenance and the user community for both upgrades and
> making sense of what's going on. I think slower cadences collapse, as the
> release window begins to collect too many hopes and dreams.
>
> My hope is that we get to a point where snapshots of trunk are safe to
> run, and that major contributors are ahead of the release window for
> internal consumption, rather than behind - this might also alleviate
> pressure for hitting release windows with features.
>
>
>
>
> On 26/01/2021, 13:56, "Benjamin Lerer" 
> wrote:
>
>  Hi everybody
>
> It seems that there is a need to discuss how we will deal with
> releases
> after 4.0
> We are now relatively close from the 4.0 RC release so it make
> sense to me
> to start discussing that subject especially as it has some impact
> on some
> things like dropping support for python 2
>
> The main questions are in my opinion:
> 1) What release cadence do we want to use for major/minor versions?
> 2) How do we plan to ensure the quality of the releases?
>
> It might make sense to try a release cadence and see how it works
> out in
> practice revisiting our decision if we feel the need for it.
>
> One important thing to discuss with the cadence is the amount of
> time we
> want to support the releases. 2.2 has been supported for more than
> 5 years,
> we might not be able to support releases for a similar time frame
> if we
> release a version every 6 months for example.
> To be sure that we are all on the same page regarding what minor
> and major
> versions are and their naming: 4.1 would be a minor version
> (improvements
> and features that don't break compatibility) and 5.0 would be a
> major
> version (compatibility breakages)
>
>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
> For additional commands, e-mail: dev-h...@cassandra.apache.org
>
>
>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
> For additional commands, e-mail: dev-h...@cassandra.apache.org
>
>


Re: [DISCUSS] Releases after 4.0

2021-01-27 Thread Benedict Elliott Smith
I understood us to have agreed to drop semver, because our major/minor history 
has been a meaningless distinction, and instead to go major/patch (or 
major/minor - with minor for patches), depending how you want to slice it.

But there have been a lot of discussions over the past year or so, so I may be 
misremembering.

On 27/01/2021, 13:25, "Benjamin Lerer"  wrote:

>
> My preference is for a simple annual major release cadence, with minors as
> necessary.
>

I do not think that I fully understand your proposal. How do you define a
major and a minor release?
My understanding of a major release was a version that broke some of the
compatibilities. By consequence, once a breaking change has been introduced
it will not be possible to release a minor and we will have to wait for a
major release. In a similar way if no breaking change has been introduced,
does it make sense to release a major?




On Wed, Jan 27, 2021 at 11:21 AM Benedict Elliott Smith 

wrote:

> Perhaps we could also consider quarterly "develop" releases, so that we
> have pressure to maintain a shippable trunk? This provides some 
opportunity
> for more releases without incurring the project maintenance costs or user
> coordination costs. Something like a feature-incomplete mid-cycle RC, that
> a user wanting shiny features can grab, providing feedback throughout the
> development cycle.
>
> On 26/01/2021, 14:11, "Benedict Elliott Smith" 
> wrote:
>
> My preference is for a simple annual major release cadence, with
> minors as necessary. This is simple for the user community and developer
> community: support = x versions = x years.
>
> I'd like to pair this with stricter merge criteria, so that we
> maintain a ~shippable trunk, and we cut a release at ~the same time every
> year, whatever features are merged. We might have to get happy with
> reverting commits that break things.
>
> I think faster cadences impose too much burden on the developer
> community for maintenance and the user community for both upgrades and
> making sense of what's going on. I think slower cadences collapse, as the
> release window begins to collect too many hopes and dreams.
>
> My hope is that we get to a point where snapshots of trunk are safe to
> run, and that major contributors are ahead of the release window for
> internal consumption, rather than behind - this might also alleviate
> pressure for hitting release windows with features.
>
>
>
>
> On 26/01/2021, 13:56, "Benjamin Lerer" 
> wrote:
>
>  Hi everybody
>
> It seems that there is a need to discuss how we will deal with
> releases
> after 4.0
> We are now relatively close from the 4.0 RC release so it make
> sense to me
> to start discussing that subject especially as it has some impact
> on some
> things like dropping support for python 2
>
> The main questions are in my opinion:
> 1) What release cadence do we want to use for major/minor 
versions?
> 2) How do we plan to ensure the quality of the releases?
>
> It might make sense to try a release cadence and see how it works
> out in
> practice revisiting our decision if we feel the need for it.
>
> One important thing to discuss with the cadence is the amount of
> time we
> want to support the releases. 2.2 has been supported for more than
> 5 years,
> we might not be able to support releases for a similar time frame
> if we
> release a version every 6 months for example.
> To be sure that we are all on the same page regarding what minor
> and major
> versions are and their naming: 4.1 would be a minor version
> (improvements
> and features that don't break compatibility) and 5.0 would be a
> major
> version (compatibility breakages)
>
>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
> For additional commands, e-mail: dev-h...@cassandra.apache.org
>
>
>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
> For additional commands, e-mail: dev-h...@cassandra.apache.org
>
>



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



Re: [DISCUSS] When to stop supporting Python 2

2021-01-27 Thread Adam Holmberg
>
> Does anybody know what are the practicalities/hurdles
> that users can face when upgrading and what is the expected cost of keeping
> support for 2.7 until the next major?
>

Given that the code supports both, the only barrier to the user is "does my
distro have python3 (most likely), or would I have to install it?".

The cost of keeping support is a small amount of drag as we consider fixing
bugs and maintaining compatibility. It's not huge, but I don't see a lot of
reasons to incur it.

I want to emphasize here: to my way of thinking, "dropping support" at this
juncture is just a matter of documenting it, and maybe introducing a
warning. We don't need to *remove* support for python2. It will continue to
work as-is. This would just guide us in deciding whether to work on flaws
that are python2-specific, and whether new things are developed with
backwards compatibility as a forcing concern.

I'll have to catch up on the other ticket and see what bearing it has on
this discussion.


On Tue, Jan 26, 2021 at 1:46 AM Sumanth Pasupuleti <
sumanth.pasupuleti...@gmail.com> wrote:

> +1 (nb) for dropping support for python2; I agree 4.0 major release is a
> good time to do this, given python2 is already EOL.
>
> On Mon, Jan 25, 2021 at 2:00 PM Yifan Cai  wrote:
>
> > +1 nb.
> > We probably also want to set a milestone to get rid of the python2
> > compatible code completely, if we are going in the direction that drops
> > python2 support in 4.0 and retains the python2 compatible code. In 4.x or
> > 5.0?
> >
> > On Mon, Jan 25, 2021 at 9:24 AM Ekaterina Dimitrova <
> e.dimitr...@gmail.com
> > >
> > wrote:
> >
> > > I support the idea,  we are not removing python2-compatible code
> > > +1
> > >
> > > On Fri, 22 Jan 2021 at 15:14, Adam Holmberg <
> adam.holmb...@datastax.com>
> > > wrote:
> > >
> > > > As you may recall, CASSANDRA-10190 [1] introduced Python 3 support
> for
> > > > cqlsh. This change will be landing in 4.0. In the course of
> development
> > > and
> > > > discussion spanning years, it was decided to retain support for
> Python
> > 2.
> > > > In the meantime, Python 2 sunsetted (a year ago [2]). I hadn't seen a
> > > > discussion about whether we intend to carry on support for Python 2,
> so
> > > I'm
> > > > raising one here.
> > > >
> > > > 4.0 is a major release and we have an opportunity to drop support at
> > this
> > > > milestone. It has been mentioned that it will not be acceptable to do
> > in
> > > a
> > > > minor or patch release, so if it's not done for 4.0, we will need to
> > wait
> > > > for the next major. I do understand that many in the project would
> like
> > > > majors on a more frequent interval post-4.0, but at this time we
> don't
> > > know
> > > > when that will be.
> > > >
> > > > I advocate for dropping support ASAP. I expect that users should not
> be
> > > > inconvenienced by this -- I am not aware of a major distro that has
> not
> > > had
> > > > python3 for years. Dropping python2 support does not mean that we
> would
> > > do
> > > > work to rip out python2-compatible code, just that we wouldn't
> > advertise
> > > > support and any package requirements would be adjusted. We benefit by
> > > > removing the need to test multiple runtimes, and we wouldn't be
> > concerned
> > > > with fixing python2-specific issues that may arise on the EOL runtime
> > > [3].
> > > >
> > > > I look forward to the discussion.
> > > >
> > > > --
> > > > Adam Holmberg
> > > > e. adam.holmb...@datastax.com
> > > > w. www.datastax.com
> > > >
> > > > [1] https://issues.apache.org/jira/browse/CASSANDRA-10190
> > > > [2]
> https://urldefense.proofpoint.com/v2/url?u=https-3A__www.python.org_doc_sunset-2Dpython-2D2_&d=DwIBaQ&c=adz96Xi0w1RHqtPMowiL2g&r=GgOKQUoTLCKbKh1M_uCZ-t7CW3HHZHE_I4OFzjDOiIs&m=PHNtl_WeGlGcuZQ1iwiajdr1eBZpuu1uxx8Ty-LCtiw&s=dDf0vhcr06PYYRjqcO9iwAWvN109cwYQNF6k9odIMIs&e=
> > > > [3] https://issues.apache.org/jira/browse/CASSANDRA-16400
> > > >
> > >
> >
>


-- 
Adam Holmberg
e. adam.holmb...@datastax.com
w. www.datastax.com


Re: [DISCUSS] When to stop supporting Python 2

2021-01-27 Thread Brandon Williams
On Wed, Jan 27, 2021 at 12:09 PM Adam Holmberg
 wrote:
> I want to emphasize here: to my way of thinking, "dropping support" at this
> juncture is just a matter of documenting it, and maybe introducing a
> warning. We don't need to *remove* support for python2. It will continue to
> work as-is. This would just guide us in deciding whether to work on flaws
> that are python2-specific, and whether new things are developed with
> backwards compatibility as a forcing concern.

Actually, I think we have to go a little bit further, and at least as
far as packaging is concerned, remove support for python2.  Recently
pip updated to 21.0 and removed python2 support, which broke any
builds that built artifacts requiring pip.  We now pin pip:
https://github.com/apache/cassandra-builds/commit/54c45a9bcf9b36a3f78b7d773eaf1067483b49b8
to get around this, but highlights that we too need to move away from
anything using python2.  So while we would not modify code to *remove*
python2 support, you would have to invoke python2 on the code in your
own way, since the packages would depend on python3.

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



Re: [DISCUSS] When to stop supporting Python 2

2021-01-27 Thread Jonathan Ellis
Python 2 was EOLed over a year ago.  I think it's fine to (1) require
python 3 to run cqlsh and (2) remove code that supports python 2 whenever
it's convenient.

Angelo has the right idea that rather than trying to finesse a deprecation
cycle into 4.0 at this late date, a better migration path can be provided
by backporting python3 support to 3.11.

On Wed, Jan 27, 2021 at 12:36 PM Brandon Williams  wrote:

> On Wed, Jan 27, 2021 at 12:09 PM Adam Holmberg
>  wrote:
> > I want to emphasize here: to my way of thinking, "dropping support" at
> this
> > juncture is just a matter of documenting it, and maybe introducing a
> > warning. We don't need to *remove* support for python2. It will continue
> to
> > work as-is. This would just guide us in deciding whether to work on flaws
> > that are python2-specific, and whether new things are developed with
> > backwards compatibility as a forcing concern.
>
> Actually, I think we have to go a little bit further, and at least as
> far as packaging is concerned, remove support for python2.  Recently
> pip updated to 21.0 and removed python2 support, which broke any
> builds that built artifacts requiring pip.  We now pin pip:
>
> https://github.com/apache/cassandra-builds/commit/54c45a9bcf9b36a3f78b7d773eaf1067483b49b8
> to get around this, but highlights that we too need to move away from
> anything using python2.  So while we would not modify code to *remove*
> python2 support, you would have to invoke python2 on the code in your
> own way, since the packages would depend on python3.
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
> For additional commands, e-mail: dev-h...@cassandra.apache.org
>
>

-- 
Jonathan Ellis
co-founder, http://www.datastax.com
@spyced


Sstableloader options on cassandra 3.11.9

2021-01-27 Thread Radha Wadhera
Hi Cassandra Dev team,

I was using Cassandra's bulk loading tool on a simple auth based setup. I
found out that we need to pass *"-u and -pw" *parameters on Auth enabled
Casandra setup. If I use the command using these parameters then if someone
(any user with login access to Cassandra host machine) does *"ps -ef | grep
-v grep | grep -E 'sstableloader'" *on Cassandra host machine other then
Cassandra admin, then that user can see creds of the Cassandra user in
plain text.

I saw a similar issue while using the cqlsh and nodetool utility but there
I found *"--cqlshrc and -pwf" *options where we can pass ACL based file and
creds are not directly visible in ps command.

*I am not able to find any such option with the Sstableloader utility. Can
you suggest to me anyway by which I can pass Cassandra creds and those are
not visible over the ps command? I am looking for a solution on Cassandra
3.11.9 or 3.x in general.*

Regards
Radha Wadhera


Cassandra 4.0 Status 2021-01-27

2021-01-27 Thread Adam Holmberg
Greetings. Here’s a quick look at Cassandra 4.0 release status for the
week. Eight days since the last report.

Jira board with 4.0 scope:

https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=355&quickFilter=1661

High level numbers by release phase:

Beta: 15 (-7); 10 in-flight; A good number of tickets were closed in this
interval, and there are not many left in this scope. So close!

RC: 38 (+1); 22 in-flight;  Lots of good work happening here

Top-level metrics:

Total tickets in 4.0: 1518

Remaining tickets represent 3.5% of total scope

Created vs. resolved continued in a positive trend:

https://issues.apache.org/jira/secure/ConfigureReport.jspa?projectOrFilterId=filter-12347782&periodName=daily&daysprevious=45&cumulative=true&versionLabels=major&selectedProjectId=12310865&reportKey=com.atlassian.jira.jira-core-reports-plugin%3Acreatedvsresolved-report&atl_token=A5KQ-2QAV-T4JA-FDED_a3bea645259beee42ed00c68f87626d5972705c4_lin&Next=Next

Where you can help:

* We’re within line-of-sight to closing out beta scope. Any work people can
do on remaining blockers will accelerate the project toward RC. There are a
handful of bugs, and PRs in need of review or merge.

* Each filter referenced below depends on accurate assignments in Jira. In
addition to actively assigning something you’re working on, it would also
be helpful to review and unassign (both Reviewer and Assignee) things that
you have assigned but may not be able to work on in the release timeline.
In addition it is helpful to move things you’re on to “In Progress” to
avoid folks having to check in on assigned tickets in “TO DO”.

Here’s a query to check your current open+assigned items:

https://issues.apache.org/jira/issues/?filter=12348585&jql=project%20%3D%20cassandra%20AND%20fixversion%20in%20(4.0%2C%204.0.0%2C%204.0-alpha%2C%204.0-beta%2C%204.0-rc%2C%204.0-alpha1%2C%204.0-alpha2%2C%204.0-alpha3%2C%204.0-alpha4%2C%204.0-alpha5%2C%204.0-alpha6%2C%204.0-beta-1%2C%204.0-beta1%2C%204.0-beta2%2C%204.0-beta3%2C%204.0-beta4)%20AND%20(resolution%20%3D%20unresolved%20OR%20status%20!%3D%20resolved)%20and%20(assignee%20%3D%20currentUser()%20or%20reviewer%20%3D%20currentUser()%20or%20reviewers%20%3D%20currentUser())%20

*Needs Reviewer:

Single RC issue awaiting review without reviewers:
https://issues.apache.org/jira/browse/CASSANDRA-16245

https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=355&quickFilter=1661&quickFilter=1659

*No assignee:

2 Beta and 5 RC issues

Please take a look and see if it’s within your capacity to take any of
these on:

https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=355&quickFilter=1661&quickFilter=1658

*Tickets stalled for a week:

3 beta, 23 GA

https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=355&quickFilter=1661&quickFilter=1694


Please let us know on the thread if I have missed anything that needs
attention. I encourage anyone to respond to these reports calling attention
to any localized things that could use it.


As always thanks to everyone for the continued hard work on the project.


-- 
Adam Holmberg
e. adam.holmb...@datastax.com
w. www.datastax.com