Re: Using JMeter to connect to AWS Athena

Dmitri T <[email protected]> Fri, 17 Nov 2023 18:27:00 +0100
Newsgroups gmane.comp.jakarta.jmeter.user
Message-ID <PH7PR12MB7139C41B4FF77417BDC2FDD0C0B7A@PH7PR12MB7139.namprd12.prod.outlook.com>
Kyle Payne wrote:
>
> Deepak,
>
> Thank you for responding. Last night I did send a reply back to your 
> question but the mail system bounced it back due to some of the text 
> in the error. I’m going to try this again.
>
> I have been using the following software and Drivers
>
>   * JMeter 5.6.2
>   * Java openjdk 17.0.7 2023-04-18 LTS.
>   * AWS Athena JDBC driver AthenaJDBC42-2.0.34.1000.jar which I
>     downloaded from here Connecting to Amazon Athena with JDBC -
>     Amazon Athena
>     <https://docs.aws.amazon.com/athena/latest/ug/connect-with-jdbc.html>
>
> Using 5.6.2 with driver AthenaJDBC42-2.0.34.1000.jar JMeter will not 
> start in GUI mode. I tried to start it via the CLI and I got the 
> following error. .
>
> AsyncWaitStrategyFactoryConfig"'s signer information does not match 
> signer information of other classes in the same package
>
> I am also running DBeaver which uses driver version 
> AthenaJDBC42-2.0.34.1000.jar and DBeaver is able to connect to Athena 
> without issue. So, I tried that driver jar with JMeter as well and I 
> get the same error as above.
>
> I then started testing older versions of JMeter and I found when I got 
> back to JMeter 5.5 the error above didn’t happen and JMeter would 
> start up.  However, when I tried to connect it would stop right away 
> and I got another Java error like.
>
> at 
> com.simba.athena.amazonaws.auth.profile.internal.BasicProfileConfigFileLoader.getProfilesConfigFile(BasicProfileConfigFileLoader.java:71) 
> ~[AthenaJDBC42-2.1.1.1001.jar:?]
>
> I then tested JMeter 5.4.3. The UI would also launch and this time 
> when I started my test it didn’t die right away. But the JMeter log 
> showed this error.
>
> Invalid type definition for type 
> com.simba.athena.amazonaws.services.athena.model.AmazonAthenaException: 
> Failed to call setAccess() on Method 'setCause' (of class 
> java.lang.Throwable`) due to 
> java.lang.reflect.InaccessibleObjectException, problem: Unable to make 
> final void java.lang.Throwable.setCause(java.lang.Throwable) 
> accessible: module java.base does not "opens java.lang" to unnamed 
> module @747ddf94
>
> Here is an example of my connection string. The user, password and 
> bucket below is not my actual user, password or bucket.
>
> jdbc:awsathena://athena.us-east-2.amazonaws.com:443/iceberg_tpcds_sf1000_01?user=KCABLAHBLAHBLAHBLAHW&password=WKBLAHBLAHBLAHBLAH4lXKtDkbjWblahBLAHblahLblah&s3_staging_dir=s3://athena-results-bucket-name-us-west-2/ 
> <http://athena.us-east-2.amazonaws.com:443/iceberg_tpcds_sf1000_01?user=KCABLAHBLAHBLAHBLAHW&password=WKBLAHBLAHBLAHBLAH4lXKtDkbjWblahBLAHblahLblah&s3_staging_dir=s3://athena-results-bucket-name-us-west-2/>
>
> -- 
>
> *Kyle Payne*
>
> Technical Director, Enablement
>
> 	
>
> 920.475.7014 <tel:920.475.7014>
>
> 	
>
> [email protected] <mailto:[email protected]>
>
> <https://www.starburst.io/>
>
> *From:* Deepak Goel <[email protected] <mailto:[email protected]>>
> *Sent:* Friday, November 17, 2023 12:17 AM
> *To:* JMeter Users List <[email protected] 
> <mailto:[email protected]>>
> *Subject:* Re: Using JMeter to connect to AWS Athena
>
> What's the error? Can you please paste it here?
>
>
> Deepak
>
> "The greatness of a nation can be judged by the way its animals are 
> treated - Mahatma Gandhi"
>
> +91 73500 12833
> [email protected] <mailto:[email protected]>
>
> Facebook: https://www.facebook.com/deicool
> LinkedIn: www.linkedin.com/in/deicool <http://www.linkedin.com/in/deicool>
>
> "Plant a Tree, Go Green"
>
> Make In India : http://www.makeinindia.com/home
>
> On Fri, Nov 17, 2023 at 8:06 AM Kyle Payne 
> <[email protected] <mailto:[email protected]>> 
> wrote:
>
>     I’ve been using JMeter to connect to multiple data sources like
>     Databricks, Trino and Starburst and I’ve never had an issue.
>     Tonight, I tried to connect to AWS Athena. I’m getting an error
>     from the JDBC driver from AWS and I did open a support call with
>     AWS. I’m reaching out to this list server only to see if there are
>     any other users who have connected JMeter to Athena.
>
>     -- 
>
>     *Kyle Payne*
>
>     Technical Director, Enablement
>
>     	
>
>     920.475.7014 <tel:920.475.7014>
>
>     	
>
>     [email protected] <mailto:[email protected]>
>
>     <https://www.starburst.io/>
>
I don't think it's a proper place to complain about 3rd-party libraries 
which are "not working"

If you're using Java 9+ you need to set necessary add-opens directives. 
<https://nipafx.dev/five-command-line-options-hack-java-module-system/#Reflectively-Accessing-Internal-APIs-With--add-opens>

There is a line in jmeter.bat startup script 
<https://github.com/apache/jmeter/blob/rel/v5.4.3/bin/jmeter.bat#L112> 
which adds the necessary configuration, probably you're starting JMeter 
in a wrong way.

In general it's recommended to always use the latest version of JMeter 
<https://www.blazemeter.com/blog/jmeter-memory-profiling#use-up-to-date-software> 
so consider upgrading to JMeter 5.6.2 
<https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.6.2.zip> 
(or whatever is the latest version available at JMeter Downloads 
<https://jmeter.apache.org/download_jmeter.cgi> page)