This is an automated email from the ASF dual-hosted git repository. sijie pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.wiki.git
The following commit(s) were added to refs/heads/master by this push: new b8edf85 Created Release Candidate Validation (markdown) b8edf85 is described below commit b8edf85c1151aaac92e8bb33ecfec02ecfedf8f7 Author: Sijie Guo <guosi...@gmail.com> AuthorDate: Thu Jul 19 12:00:55 2018 -0700 Created Release Candidate Validation (markdown) --- Release-Candidate-Validation.md | 119 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) diff --git a/Release-Candidate-Validation.md b/Release-Candidate-Validation.md new file mode 100644 index 0000000..0813891 --- /dev/null +++ b/Release-Candidate-Validation.md @@ -0,0 +1,119 @@ +Here are some instructions for reviewing and validating a release candidate. + +### Validate the binary distribution + +Unzip the binary distribution. The unzipped binary should be in a directory called `apache-pulsar-<release>`. All the operations below happen within that directory. + +1. Open one terminal to start a standalone cluster. + +```shell +$ bin/pulsar standalone +``` + +2. Open another terminal to submit a Java Exclamation function. + +```shell +$ bin/pulsar-admin functions create --functionConfigFile examples/example-function-config.yaml --jar examples/api-examples.jar +``` + +You should see `Created Successfully`. + +3. At the same terminal as step 2, retrieve the function config: + +```shell +$ bin/pulsar-admin functions get --tenant test --namespace test-namespace --name example +``` + +example output: + +```shell +{ + "tenant": "test", + "namespace": "test-namespace", + "name": "example", + "className": "org.apache.pulsar.functions.api.examples.ExclamationFunction", + "userConfig": "{\"PublishTopic\":\"test_result\"}", + "autoAck": true, + "parallelism": 1, + "source": { + "topicsToSerDeClassName": { + "test_src": "" + }, + "typeClassName": "java.lang.String" + }, + "sink": { + "topic": "test_result", + "typeClassName": "java.lang.String" + }, + "resources": {} +} +``` + +4. At the same terminal as step 3, retrieve the function status: + +```shell +$ bin/pulsar-admin functions getstatus --tenant test --namespace test-namespace --name example +``` + +example output: + +```shell +{ + "functionStatusList": [ + { + "running": true, + "instanceId": "0", + "metrics": { + "metrics": { + "__total_processed__": {}, + "__total_successfully_processed__": {}, + "__total_system_exceptions__": {}, + "__total_user_exceptions__": {}, + "__total_serialization_exceptions__": {}, + "__avg_latency_ms__": {} + } + }, + "workerId": "c-standalone-fw-localhost-6750" + } + ] +} +``` + +5. At the same terminal as step 4, subscribe the output topic `test_result`. + +```shell +$ bin/pulsar-client consume -s test-sub -n 0 test_result +``` + +6. Open a new terminal to produce messages into the input topic `test_src`. + +```shell +$ bin/pulsar-client produce -m "test-messages-`date`" -n 10 test_src +``` + +7. At the terminal of step 5, you will see the messages produced by the Exclamation function. + +example output: + +```shell +----- got message ----- +test-messages-Thu Jul 19 11:59:15 PDT 2018! +----- got message ----- +test-messages-Thu Jul 19 11:59:15 PDT 2018! +----- got message ----- +test-messages-Thu Jul 19 11:59:15 PDT 2018! +----- got message ----- +test-messages-Thu Jul 19 11:59:15 PDT 2018! +----- got message ----- +test-messages-Thu Jul 19 11:59:15 PDT 2018! +----- got message ----- +test-messages-Thu Jul 19 11:59:15 PDT 2018! +----- got message ----- +test-messages-Thu Jul 19 11:59:15 PDT 2018! +----- got message ----- +test-messages-Thu Jul 19 11:59:15 PDT 2018! +----- got message ----- +test-messages-Thu Jul 19 11:59:15 PDT 2018! +----- got message ----- +test-messages-Thu Jul 19 11:59:15 PDT 2018! +``` \ No newline at end of file