Hi all,

In this JIRA ticket https://issues.apache.org/jira/browse/CASSANDRA-13486,
we proposed integrating our code to support a fast flash+FPGA card (called
CAPI Flash) only available in the ppc architecture. Although we will keep
discussing the topics specific to the patch (e.g. documentation, license,
code quality) in the JIRA, we would like to start in this dev list more
general discussion about how to (and how not to) merge
architecture-specific (or vendor-specific) changes.

I think in the end the problem boils down to how to test the
architecture-specific code. The original contributors of the
architecture-specific code can keep "supporting" the code in a sense that
when a problem arises they can fix it and send a patch, but the committers
cannot test it anyway.  Are there any other factors we must consider?

Also, in this particular case, it is relatively easy to turn the code
change into a plugin because it extended the already-pluggable RowCache.  I
feel Cassandra has promoted the plugins not so much as other pluggable
software have done like Eclipse, Apache HTTP server, fluentd, etc.  For
example, they have a list of plugins in their Web pages.  I think if the
community wants to encourage developers to maintain vendor-specific code as
plugins outside of the main source tree, a deeper commitment to the plugin
ecosystem would be appreciated.

What do you think?

Rei Odaira

Reply via email to