I remember running into cases where the main user of an internal API that I
wanted to clean up was stress.  It's a big chunk of code and the indirect
cost of keeping it around is not zero even if it's not being actively
improved.

On Wed, May 31, 2023 at 10:43 AM Miklosovic, Stefan <
stefan.mikloso...@netapp.com> wrote:

> Well this is a completely different kind of discussion, Josh, let's
> explore it, shall we?
>
> I think that Cassandra should have some basic tool available to
> stress-test itself. Why not? I do not want to depend on some 3rd party
> tools even if they might be objectively better. I do not think that the
> current cassandra-stress is completely "useless". It is doing its job, more
> or less. If a user wants to have something more advanced she is welcome to
> use that but I do not like that we are trying to outsource the basic
> tooling outside of the project.
>
> As I see it, we just spice it up with some tests to be sure that it will
> not break without us knowing it and that's it. The fact that it is not
> actively contributed to does not necessarily make it eligible for deletion
> as a whole.
>
> Anyway, I am not calling the shots here, if a community decides it has to
> go so it will but I would be said to see it.
>
> Regards
>
>
> ________________________________________
> From: Josh McKenzie <jmcken...@apache.org>
> Sent: Wednesday, May 31, 2023 15:15
> To: dev
> Subject: Re: Is simplenative in cassandra-stress still relevant?
>
> NetApp Security WARNING: This is an external email. Do not click links or
> open attachments unless you recognize the sender and know the content is
> safe.
>
>
>
> The main issue I see with maintaining the SimpleClient in cassandra-stress
> is the burden it puts on a user to understand the options available when
> connecting with -mode:
> How frequently do we expect users or devs to use the built-in
> cassandra-stress tool? Between tlp-stress and NoSQLBench, it's not clear to
> me that keeping cassandra-stress (which has been largely unmaintained for
> years as I understand it?) is the best option.
>
> On Wed, May 31, 2023, at 9:00 AM, Brad wrote:
> We all agree that we're not suggesting removing SimpleClient from
> Cassandra, just from its use in cassandra-stress.
>
> For debugging the native transport protocol, in addition to the standalone
> Java Driver, there are the python drivers and ODBC drivers which can be
> exercised with cqlsh and Intellij respectively.  Are they not sufficient?
>
> The main issue I see with maintaining the SimpleClient in cassandra-stress
> is the burden it puts on a user to understand the options available when
> connecting with -mode:
>
> > cassandra-stress help -mode
>
>
> Usage: -mode native [unprepared] cql3 [compression=?] [port=?] [user=?]
> [password=?] [auth-provider=?] [maxPending=?] [connectionsPerHost=?]
> [protocolVersion=?]
>
>  OR
>
> Usage: -mode simplenative [prepared] cql3 [port=?]
>
>
> ....
>
>
> A user trying to determine how to specify credentials for usr/pwd is
> presented with the option to use simplenative and prepared statements
> (which appear broken).  It can lead down a rabbit hole of sparse
> documentation trying to figure out what the simplenative option is, and is
> better than cql3?
>
>
>
>
> On Wed, May 31, 2023 at 1:58 AM Miklosovic, Stefan <
> stefan.mikloso...@netapp.com<mailto:stefan.mikloso...@netapp.com>> wrote:
> Interesting point about the debuggability.
>
> Yes, I agree that SimpleClient (as class) should not be removed because we
> are using it in tests. I have already mentioned in my original e-mail that
> for this reason that class is not going anywhere and we still need to use
> it.
>
> The cost of keeping it there is not big, sure, but we clearly see that
> e.g. the usage of "prepared" is buggy and it does not work. That somehow
> indicates to me that it kind of atrophied and nobody seems to notice which
> further supports my case that it is actually not used too much if it went
> undetected for so long.
>
> Anyway, I think that we might just look at that bug with "prepared" and
> fix it and keep it all there. I do not see any tests which would test
> cassandra-stress command, similarly what we have for nodetool in JUnit. We
> could cover cassandra-stress similarly, just to be sure that its invocation
> on the most important commands does not fail over time.
>
>
> ________________________________________
> From: Brandon Williams <dri...@gmail.com<mailto:dri...@gmail.com>>
> Sent: Wednesday, May 31, 2023 2:33
> To: dev@cassandra.apache.org<mailto:dev@cassandra.apache.org>
> Subject: Re: Is simplenative in cassandra-stress still relevant?
>
> NetApp Security WARNING: This is an external email. Do not click links or
> open attachments unless you recognize the sender and know the content is
> safe.
>
>
>
>
> On Tue, May 30, 2023 at 7:15 PM Brad <bscho...@gmail.com<mailto:
> bscho...@gmail.com>> wrote:
> > If you're performing stress testing, why would you not want to use the
> official driver?  I've spoken to several people who all have said they've
> never used simplenative mode.
>
> I agree that it shouldn't be used normally, but I'm not sure we should
> remove it, because we can't remove it fully: SimpleClient is still
> used in many tests, and I think that should continue.
>
> If you suspect any kind of native proto or driver issue it may be
> useful to have another implementation easily accessible to aid in
> debugging the problem, and the maintenance cost of keeping it in
> stress is roughly zero in my opinion.  We can make it clear that it's
> not recommended for use and is intended only as a debugging tool,
> though.
>
> Kind Regards,
> Brandon
>
>

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

Reply via email to