[
https://issues.apache.org/jira/browse/HDFS-14088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16717671#comment-16717671
]
Íñigo Goiri commented on HDFS-14088:
------------------------------------
Thanks [~John Smith] for [^HDFS-14088.004.patch].
Minor cosmetic changes:
* {{testHedgingMultiThreads}} should have the comment as a javadoc explaining
it.
* Let's avoid the reordering of imports in {{TestRequestHedgingProxyProvider}};
just add the new ones in a reasonable order.
* Leave {{RequestHedgingProxyProvider#199}} as it was.
* "currentUsedProxy is lazy initialized" should be "currentUsedProxy is lazily
initialized"
[~LiJinglun], can you take a look at [^HDFS-14088.004.patch]?
> RequestHedgingProxyProvider can throw NullPointerException when failover due
> to no lock on currentUsedProxy
> -----------------------------------------------------------------------------------------------------------
>
> Key: HDFS-14088
> URL: https://issues.apache.org/jira/browse/HDFS-14088
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: hdfs-client
> Reporter: Yuxuan Wang
> Assignee: Yuxuan Wang
> Priority: Major
> Attachments: HDFS-14088.001.patch, HDFS-14088.002.patch,
> HDFS-14088.003.patch, HDFS-14088.004.patch
>
>
> {code:java}
> if (currentUsedProxy != null) {
> try {
> Object retVal = method.invoke(currentUsedProxy.proxy, args);
> LOG.debug("Invocation successful on [{}]",
> currentUsedProxy.proxyInfo);
> {code}
> If a thread run try block and then other thread trigger a fail over calling
> method
> {code:java}
> @Override
> public synchronized void performFailover(T currentProxy) {
> toIgnore = this.currentUsedProxy.proxyInfo;
> this.currentUsedProxy = null;
> }
> {code}
> It will set currentUsedProxy to null, and the first thread can throw a
> NullPointerException.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]