Github user tdas commented on a diff in the pull request:
https://github.com/apache/spark/pull/5882#discussion_r29813608
--- Diff:
extras/kinesis-asl/src/main/scala/org/apache/spark/streaming/kinesis/KinesisReceiver.scala
---
@@ -139,12 +135,57 @@ private[kinesis] class KinesisReceiver(
* The KCL will do its best to drain and checkpoint any in-flight
records upon shutdown.
*/
override def onStop() {
- worker.shutdown()
- logInfo(s"Shut down receiver with workerId $workerId")
+ if (worker != null) {
+ worker.shutdown()
+ logInfo(s"Stopped receiver for workerId $workerId")
+ worker = null
+ }
workerId = null
- credentialsProvider = null
- kinesisClientLibConfiguration = null
- recordProcessorFactory = null
- worker = null
+ }
+
+ /*
+ * If non-null aws credentials are passed in, use
BasicAWSCredentialsProvider.
+ * Otherwise, use the DefaultAWSCredentialsProviderChain.
+ *
+ * Note: DefaultAWSCredentialsProviderChain searches for credentials in
the following order of
+ * precedence:
+ * Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
+ * Java System Properties - aws.accessKeyId and aws.secretKey
+ * Credential profiles file at the default location
(~/.aws/credentials) shared by all
+ * AWS SDKs and the AWS CLI
+ * Instance profile credentials delivered through the Amazon EC2
metadata service
+ *
+ * @return non-Serializable AWSCredentialsProvider
+ */
+ def resolveAWSCredentialsProvider(): AWSCredentialsProvider = {
+ if (awsAccessKeyId != null && awsSecretKey != null) {
--- End diff --
As I said above, please use Option instead of relying on null to transfer
lack of parameters.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]