Kousuke Saruta created SPARK-56810:
--------------------------------------

             Summary: Fix cleanClosure to skip primitive functions for R 4.4+
                 Key: SPARK-56810
                 URL: https://issues.apache.org/jira/browse/SPARK-56810
             Project: Spark
          Issue Type: Sub-task
          Components: Spark Core
    Affects Versions: 4.2.0, 4.1.2, 3.5.9
            Reporter: Kousuke Saruta


With R 4.4+, R/run-tests.sh fails.


{code}
== Failed ======================================================================
-- 1. Error ('test_rdd.R:49:3'): count by values and keys ----------------------
Error in `h(simpleError(msg, call))`: error in evaluating the argument 'x' in 
selecting a method for function 'collectRDD': (converted from warning) setting 
environment(<primitive function>) is not possible and trying it is deprecated
Backtrace:
     x
  1. +-SparkR:::countByValue(mods) at test_rdd.R:49:3
  2. +-SparkR:::countByValue(mods)
  3. | +-SparkR:::collectRDD(reduceByKey(ones, `+`, getNumPartitionsRDD(x)))
  4. | +-SparkR:::reduceByKey(ones, `+`, getNumPartitionsRDD(x))
  5. | \-SparkR:::reduceByKey(ones, `+`, getNumPartitionsRDD(x))
  6. |   +-SparkR:::lapplyPartition(x, reduceVals)
  7. |   \-SparkR:::lapplyPartition(x, reduceVals)
  8. |     +-SparkR:::lapplyPartitionsWithIndex(...)
  9. |     \-SparkR:::lapplyPartitionsWithIndex(...)
 10. |       \-SparkR:::PipelinedRDD(X, FUN)
 11. |         \-methods::new("PipelinedRDD", prev, func, NULL)
 12. |           +-methods::initialize(value, ...)
 13. |           \-SparkR (local) initialize(value, ...)
 14. |             \-SparkR (local) .local(.Object, ...)
 15. |               \-SparkR:::cleanClosure(pipelinedFunc)
 16. |                 \-SparkR:::processClosure(...)
 17. |                   \-SparkR:::processClosure(...)
 18. |                     \-SparkR:::processClosure(...)
 19. |                       \-SparkR:::processClosure(...)
 20. |                         \-SparkR:::cleanClosure(obj, checkedFuncs)
 21. |                           \-SparkR:::processClosure(...)
 22. |                             \-SparkR:::processClosure(...)
 23. |                               \-SparkR:::processClosure(...)
 24. |                                 \-SparkR:::cleanClosure(obj, 
checkedFuncs)
 25. |                                   \-SparkR:::processClosure(...)
 26. |                                     \-SparkR:::processClosure(...)
 27. |                                       \-SparkR:::processClosure(...)
 28. |                                         \-SparkR:::processClosure(...)
 29. |                                           \-SparkR:::processClosure(...)
 30. |                                             
\-SparkR:::processClosure(...)
 31. |                                               
\-SparkR:::cleanClosure(obj, checkedFuncs)
 32. +-base::.signalSimpleWarning(...)
 33. | \-base::withRestarts(...)
 34. |   \-base (local) withOneRestart(expr, restarts[[1L]])
 35. |     \-base (local) doWithOneRestart(return(expr), restart)
 36. \-base::.handleSimpleError(...)
 37.   \-base (local) h(simpleError(msg, call))

-- 2. Error ('test_rdd.R:282:3'): maximum() on RDDs ----------------------------
Error in `h(simpleError(msg, call))`: error in evaluating the argument 'x' in 
selecting a method for function 'collectRDD': (converted from warning) setting 
environment(<primitive function>) is not possible and trying it is deprecated
Backtrace:
     x
  1. +-SparkR:::maximum(rdd) at test_rdd.R:282:3
  2. +-SparkR:::maximum(rdd)
  3. | +-SparkR:::reduce(x, max)
  4. | \-SparkR:::reduce(x, max)
  5. |   +-SparkR:::collectRDD(lapplyPartition(x, reducePartition), flatten = 
FALSE)
  6. |   +-SparkR:::lapplyPartition(x, reducePartition)
  7. |   \-SparkR:::lapplyPartition(x, reducePartition)
  8. |     +-SparkR:::lapplyPartitionsWithIndex(...)
  9. |     \-SparkR:::lapplyPartitionsWithIndex(...)
 10. |       \-SparkR:::PipelinedRDD(X, FUN)
 11. |         \-methods::new("PipelinedRDD", prev, func, NULL)
 12. |           +-methods::initialize(value, ...)
 13. |           \-SparkR (local) initialize(value, ...)
 14. |             \-SparkR (local) .local(.Object, ...)
 15. |               \-SparkR:::cleanClosure(func)
 16. |                 \-SparkR:::processClosure(...)
 17. |                   \-SparkR:::processClosure(...)
 18. |                     \-SparkR:::processClosure(...)
 19. |                       \-SparkR:::cleanClosure(obj, checkedFuncs)
 20. |                         \-SparkR:::processClosure(...)
 21. |                           \-SparkR:::processClosure(...)
 22. |                             \-SparkR:::processClosure(...)
 23. |                               \-SparkR:::cleanClosure(obj, checkedFuncs)
 24. +-base::.signalSimpleWarning(...)
 25. | \-base::withRestarts(...)
 26. |   \-base (local) withOneRestart(expr, restarts[[1L]])
 27. |     \-base (local) doWithOneRestart(return(expr), restart)
 28. \-base::.handleSimpleError(...)
 29.   \-base (local) h(simpleError(msg, call))

-- 3. Error ('test_rdd.R:287:3'): minimum() on RDDs ----------------------------
Error in `h(simpleError(msg, call))`: error in evaluating the argument 'x' in 
selecting a method for function 'collectRDD': (converted from warning) setting 
environment(<primitive function>) is not possible and trying it is deprecated
Backtrace:
     x
  1. +-SparkR:::minimum(rdd) at test_rdd.R:287:3
  2. +-SparkR:::minimum(rdd)
  3. | +-SparkR:::reduce(x, min)
  4. | \-SparkR:::reduce(x, min)
  5. |   +-SparkR:::collectRDD(lapplyPartition(x, reducePartition), flatten = 
FALSE)
  6. |   +-SparkR:::lapplyPartition(x, reducePartition)
  7. |   \-SparkR:::lapplyPartition(x, reducePartition)
  8. |     +-SparkR:::lapplyPartitionsWithIndex(...)
  9. |     \-SparkR:::lapplyPartitionsWithIndex(...)
 10. |       \-SparkR:::PipelinedRDD(X, FUN)
 11. |         \-methods::new("PipelinedRDD", prev, func, NULL)
 12. |           +-methods::initialize(value, ...)
 13. |           \-SparkR (local) initialize(value, ...)
 14. |             \-SparkR (local) .local(.Object, ...)
 15. |               \-SparkR:::cleanClosure(func)
 16. |                 \-SparkR:::processClosure(...)
 17. |                   \-SparkR:::processClosure(...)
 18. |                     \-SparkR:::processClosure(...)
 19. |                       \-SparkR:::cleanClosure(obj, checkedFuncs)
 20. |                         \-SparkR:::processClosure(...)
 21. |                           \-SparkR:::processClosure(...)
 22. |                             \-SparkR:::processClosure(...)
 23. |                               \-SparkR:::cleanClosure(obj, checkedFuncs)
 24. +-base::.signalSimpleWarning(...)
 25. | \-base::withRestarts(...)
 26. |   \-base (local) withOneRestart(expr, restarts[[1L]])
 27. |     \-base (local) doWithOneRestart(return(expr), restart)
 28. \-base::.handleSimpleError(...)
 29.   \-base (local) h(simpleError(msg, call))
{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to