Hi Scott, – What's this for? I'd appreciate a detailed explanation of what "Enhance > CQLSSTableWriter to notify clients on sstable production" does and how it's > meant to be used. Why is it needed for rolling upgrades? The phrasing of > the ticket right now reads as nice-to-have rather than must-have. An > earlier email described the value as "code quality and brings other > benefits," but I'd expect the standard for feature backports to be higher. >
The patch to the "CQLSSTableWriter" is to support sending notification to clients (Cassandra Analytics) when a new sstable is produced. Cassandra Analytics, on receiving the notifications, can send sstables more eagerly, hence reclaiming local disk space sooner. To clarify, the patch is *not* needed for rolling upgrade. I mentioned in an earlier email that if not backporting, there will be a different solution for the lower version. The value of backporting is to eliminate the need to develop and maintain multiple solutions (in Cassandra Analytics). – What's not possible if this isn't backported? What experience suffers > today for lack of it / what problem does it solve? And what is the > alternative/fallback if others are not supportive of backport? > It has *no* impact on the Cassandra server. W/o backporting, it affects the Cassandra Analytics only. The problem and the alternative are stated above. And to the last question, the answer is that it is *not* required for upgrade. Thank you for putting the questions together. Others probably have the same questions. Hopefully it clears your concerns. I also agree that 4.1.x release should not be blocked by this patch. - Yifan On Wed, Jul 31, 2024 at 2:14 PM C. Scott Andreas <sc...@paradoxica.net> wrote: > There are a few things unclear to me in this thread and the ticket, and > details in the Jira are slim. > > Yifan / others supportive of backporting this feature, could you help me > answer these questions? > > – What's this for? I'd appreciate a detailed explanation of what "Enhance > CQLSSTableWriter to notify clients on sstable production" does and how it's > meant to be used. Why is it needed for rolling upgrades? The phrasing of > the ticket right now reads as nice-to-have rather than must-have. An > earlier email described the value as "code quality and brings other > benefits," but I'd expect the standard for feature backports to be higher. > > – What's not possible if this isn't backported? What experience suffers > today for lack of it / what problem does it solve? And what is the > alternative/fallback if others are not supportive of backport? > > – If this is deemed required for upgrade, that means users of previous > releases would have to first upgrade to the latest release on their current > train before upgrading to the latest major version. This is not a pattern > that has been required in the past, and we should not introduce such a > requirement. Do you intend this to be the required path for 4.1.x upgrades > to 5.x+? > > My general thoughts: > > – The patch is small and the feature is small so I don't have much concern > with a backport; zero-ish vote. > – It definitely shouldn't block release of the current 4.1.x vote thread > that's in progress. > – We shouldn't introduce upgrade paths that require users to upgrade to > at-minimum-patchlevel versions of current releases before upgrading to > future majors; I'm -1 on that. > > Thanks, > > – Scott > > On Jul 31, 2024, at 2:04 PM, Jon Haddad <j...@jonhaddad.com> wrote: > > > I'm kind of neutral on this, maybe -0. It's a small enough patch, but > it's of limited value, given that Cassandra Analytics doesn't work with > vnodes. That's the overwhelming majority of deployments. So I'm not really > sure what we gain here. > > On Wed, Jul 31, 2024 at 1:58 PM Yifan Cai <yc25c...@gmail.com> wrote: > >> Hi PMC team, >> >> There are so far two +1 and one -1. Please vote if you want to. It is >> open for another 12 hours. >> >> 4.1 is to be released. I would like to include the patch, if possible, >> according to the vote result. >> >> I recognize that patches to stable releases can be risky. When talking >> about the trade off, we need to evaluate the benefit holistically, >> considering all the projects under the Cassandra umbrella. >> We surely do not want to backport the user-facing Cassandra features and >> potentially demotivating upgrade. >> IMO, the internal changes should be treated differently, as long as the >> public interface does not change. In this particular case, Cassandra >> Analytics provides the same bulk write feature regardless of backporting >> the patch or not. But having the patch backported improves the code quality >> and brings other benefits. Hope it answers Mick's message. >> >> Maybe it is time we start to think about categorizing the interfaces in >> Cassandra into 1) public API, 2) internal API, and 3) evolving API, etc. It >> is not a suitable topic for this thread and requires a separate discussion. >> >> - Yifan >> >> On Tue, Jul 30, 2024 at 11:47 AM Mick Semb Wever <m...@apache.org> wrote: >> >>> reply below. >>> >>> We're moving into a world where we will likely more frequently modify >>>> the mainline branch with new functionality to integrate with ecosystem >>>> changes (sidecar, analytics, drivers?). It's probably at least worth a >>>> conversation as to whether our current policy (improvements and new >>>> features main branch only) is optimal across everything equally or if there >>>> should be nuance for ecosystem integrations. >>>> >>> >>> >>> This also incentivises intentionally not introducing support for that >>> api in older mainlines. We KISS, if the user wants that ecosystem benefit >>> they need to upgrade to at least mainline X. >>> >>> Once older mainlines have it then we have this problem. An alternative >>> to the risk of having to always update all the mainlines, is to let the >>> ecosystem branch to provide support for the different mainlines as/when >>> needed. Both are painful. >>> >> > > > >