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)

Reply via email to