> 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> 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>
>> Sent: Wednesday, May 31, 2023 2:33
>> To: 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> 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

Reply via email to