Andrey Aleksandrov created IGNITE-11724:
-------------------------------------------
Summary: IgniteSpark integration forget to close the IgniteContext and stops the client node in case if error during PairFunction logic
Key: IGNITE-11724
URL:
https://issues.apache.org/jira/browse/IGNITE-11724 Project: Ignite
Issue Type: Bug
Components: spark
Affects Versions: 2.7
Reporter: Andrey Aleksandrov
Fix For: 2.8
Next code could hang in case if PairFunction logic will throw the exception:
JavaPairRDD<Key, Value> rdd_records = records.mapToPair(new MapFunction());
JavaIgniteContext<Key, Value> igniteContext = new JavaIgniteContext<>(sparkCtx, configUrl);
JavaIgniteRDD<Key, Value> igniteRdd = igniteContext.<Key, Value>fromCache(cacheName);
igniteRdd.savePairs(rdd_records);
Looks like next internal code (saveValues method)should also close the IgniteContext in case of an unexpected exception, not only data streamer:
try {
it.foreach(value ⇒ {
val key = affinityKeyFunc(value, node.orNull)
streamer.addData(key, value)
})
}
finally {
streamer.close()
}
})
}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)