[
https://issues.apache.org/jira/browse/BAHIR-122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16099473#comment-16099473
]
ASF GitHub Bot commented on BAHIR-122:
--------------------------------------
Github user ire7715 commented on the issue:
https://github.com/apache/bahir/pull/48
Thanks @ckadner for suggestion.
Agree with your point, just modified the `SparkGCPCredentialsBuilderSuite`
and make it read the environment variables for keyfiles defined in
`PubsubTestUtils`. It ignores the test cases if the keyfiles or email account
are not set(or file doesn't exist) and shows the hint message.
Also discovered that `ServiceAccountCredentials.getFileBuffer` didn't check
file existence before opening, just added the check.
Don't know if the force push would bother you when reviewing, so I made
some manual-diff:
----
SparkGCPCredentials.scala L66
\- `if (filePath.isEmpty) Array[Byte]()`
\+ `if (filePath.isEmpty || !Files.exists(Paths.get(filePath.get)))
Array[Byte]()`
----
SparkGCPCredentialsBuilderSuite.scala
> Deleted resource variables, let `jsonFilePath`, `p12FilePath` and
`emailAccount` read system environment.
> Implemented `jsonAssumption` and `p12Assumption`, to check the existence
of corresponding environment variables and files.
> No longer expected `credential.refreshToken` thrown an Exception,
expected it could retrieve the real token.
> [PubSub] Make "ServiceAccountCredentials" really broadcastable
> --------------------------------------------------------------
>
> Key: BAHIR-122
> URL: https://issues.apache.org/jira/browse/BAHIR-122
> Project: Bahir
> Issue Type: Improvement
> Components: Spark Streaming Connectors
> Reporter: Ire Sun
>
> The origin implementation broadcast the key file path to Spark cluster, then
> the executor read key file with the broadcasted path. Which is absurd, if you
> are using a shared Spark cluster in a group/company, you certainly not want
> to (and have no right to) put your key file on each instance of the cluster.
> If you store the key file on driver node and submit your job to a remote
> cluster. You would get the following warning:
> {{WARN ReceiverTracker: Error reported by receiver for stream 0: Failed to
> pull messages - java.io.FileNotFoundException}}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)