Comcast / cmb

This project is no longer actively supported. It is made available as read-only. A highly available, horizontally scalable queuing and notification service compatible with AWS SQS and SNS
Apache License 2.0
277 stars 50 forks source link

CNSStressTest - unreachable endpoint #5

Closed iamjvn closed 10 years ago

iamjvn commented 11 years ago

Attempting to run the CNSStressTest locally, but not having much luck understanding where I'm going wrong. Perhaps you guys understand this better than I do:

CNSStressTest V2.2.28 Usage: CNSStressTest -Dcmb.log4j.propertyFile=config/log4j.properties -Dcmb.propertyFile=config/cmb.properties -nt= -ns= -mps= -td= -tpt= Example: java CNSStressTest -Dcmb.log4j.propertyFile=config/log4j.properties -Dcmb.propertyFile=config/cmb.properties -nt=1 -ns=1 -mps=10 -td=10 -tpt=10 Params for this test run: Number of topics: 1 Number of subscribers per topic: 1 Number of messages per second: 1 Test duration seconds: 1 Number of threads per topic: 1 Endpoint: http://localhost:6061/CMB/Endpoint/recv/

[main] [bc937fb4-4bad-44a4-9f2e-694672913eb2] ERROR CNSStressTest - exception=Status Code: 400, AWS Service: AmazonSNS, AWS Request ID: bf294910-75b1-470b-9c2d-69d7cad541a4, AWS Error Code: InvalidParameter, AWS Error Message: Invalid parameter: Unreachable endpoint Status Code: 400, AWS Service: AmazonSNS, AWS Request ID: bf294910-75b1-470b-9c2d-69d7cad541a4, AWS Error Code: InvalidParameter, AWS Error Message: Invalid parameter: Unreachable endpoint at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:640) at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:338) at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:190) at com.amazonaws.services.sns.AmazonSNSClient.invoke(AmazonSNSClient.java:808) at com.amazonaws.services.sns.AmazonSNSClient.subscribe(AmazonSNSClient.java:331) at com.comcast.cns.test.stress.CNSStressTest.stressTest(CNSStressTest.java:276) at com.comcast.cns.test.stress.CNSStressTest.stressTestCMB(CNSStressTest.java:128) at com.comcast.cns.test.stress.CNSStressTest.main(CNSStressTest.java:380) Exception in thread "main" java.lang.AssertionError: Test failed: Status Code: 400, AWS Service: AmazonSNS, AWS Request ID: bf294910-75b1-470b-9c2d-69d7cad541a4, AWS Error Code: InvalidParameter, AWS Error Message: Invalid parameter: Unreachable endpoint at org.junit.Assert.fail(Assert.java:93) at com.comcast.cns.test.stress.CNSStressTest.stressTest(CNSStressTest.java:330) at com.comcast.cns.test.stress.CNSStressTest.stressTestCMB(CNSStressTest.java:128) at com.comcast.cns.test.stress.CNSStressTest.main(CNSStressTest.java:380)

iamjvn commented 11 years ago

After debugging the server, I realized that the following property config is required to use CNSStresTest:

cmb.cns.requireSubscriptionConfirmation=false

boriwo commented 11 years ago

Looks like you got this working already. However, you should not have to disable the subscription confirmation feature as the stress test tool should perform these confirmations for you. If the error is "unreachable endpoint" it usually means that the test endpoint we ship by default as a servlet with cns was not functioning properly. In your case you could have tested if http://localhost:6061/CMB/Endpoint/list/ was actually delivering a valid http response.