Hi Sean, That’s fair in regards to 3.3.x being the current release branch. I’m not familiar with the testing schedule, but I had assumed all currently supported release versions would have some nightly/weekly tests ran; is that not the case? I only ask, as when I when I’m seeing these test failures, I assumed these were either known/unknown from some recurring testing pipeline.
Also, unfortunately using v3.2.3 also had the same test failures. > git clone --branch v3.2.3 https://github.com/apache/spark.git I’ve posted the traceback below for one of the ran tests. At the end it mentioned to check the logs - `see logs`. However I wasn’t sure whether that just meant the traceback or some more detailed logs elsewhere? I wasn’t able to see any files that looked relevant running `find . -name “*logs*”` afterwards. Sorry if I’m missing something obvious. ``` test_broadcast_no_encryption (pyspark.tests.test_broadcast.BroadcastTest) ... ERROR test_broadcast_value_against_gc (pyspark.tests.test_broadcast.BroadcastTest) ... ERROR test_broadcast_value_driver_encryption (pyspark.tests.test_broadcast.BroadcastTest) ... ERROR test_broadcast_value_driver_no_encryption (pyspark.tests.test_broadcast.BroadcastTest) ... ERROR test_broadcast_with_encryption (pyspark.tests.test_broadcast.BroadcastTest) ... ERROR ====================================================================== ERROR: test_broadcast_with_encryption (pyspark.tests.test_broadcast.BroadcastTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "$path/spark/python/pyspark/tests/test_broadcast.py", line 67, in test_broadcast_with_encryption self._test_multiple_broadcasts(("spark.io.encryption.enabled", "true")) File "$path/spark/python/pyspark/tests/test_broadcast.py", line 58, in _test_multiple_broadcasts conf = SparkConf() File "$path/spark/python/pyspark/conf.py", line 120, in __init__ self._jconf = _jvm.SparkConf(loadDefaults) File "$path/spark/python/lib/py4j-0.10.9.5-src.zip/py4j/java_gateway.py", line 1709, in __getattr__ answer = self._gateway_client.send_command( File "$path/spark/python/lib/py4j-0.10.9.5-src.zip/py4j/java_gateway.py", line 1036, in send_command connection = self._get_connection() File "$path/spark/python/lib/py4j-0.10.9.5-src.zip/py4j/clientserver.py", line 284, in _get_connection connection = self._create_new_connection() File "$path/spark/python/lib/py4j-0.10.9.5-src.zip/py4j/clientserver.py", line 291, in _create_new_connection connection.connect_to_java_server() File "$path/spark/python/lib/py4j-0.10.9.5-src.zip/py4j/clientserver.py", line 438, in connect_to_java_server self.socket.connect((self.java_address, self.java_port)) ConnectionRefusedError: [Errno 61] Connection refused ---------------------------------------------------------------------- Ran 7 tests in 12.950s FAILED (errors=7) sys:1: ResourceWarning: unclosed file <_io.BufferedWriter name=4> Had test failures in pyspark.tests.test_broadcast with /usr/local/bin/python3; see logs. ``` Best, Adam Chhina > On Jan 18, 2023, at 5:03 PM, Sean Owen <sro...@gmail.com> wrote: > > That isn't the released version either, but rather the head of the 3.2 branch > (which is beyond 3.2.3). > You may want to check out the v3.2.3 tag instead: > https://github.com/apache/spark/tree/v3.2.3 > ... instead of 3.2.1. > But note of course the 3.3.x is the current release branch anyway. > > Hard to say what the error is without seeing more of the error log. > > That final warning is fine, just means you are using Java 11+. > > > On Wed, Jan 18, 2023 at 3:59 PM Adam Chhina <amanschh...@gmail.com > <mailto:amanschh...@gmail.com>> wrote: >> Oh, whoops, didn’t realize that wasn’t the release version, thanks! >> >> > git clone --branch branch-3.2 https://github.com/apache/spark.git >> >> Ah, so the old failing tests are passing now, but I am seeing failures in >> `pyspark.tests.test_broadcast` such as `test_broadcast_value_against_gc`, >> with a majority of them failing due to `ConnectionRefusedError: [Errno 61] >> Connection refused`. Maybe these tests are not mean to be ran locally, and >> only in the pipeline? >> >> Also, I see this warning that mentions to notify the maintainers here: >> >> ``` >> Starting test(/usr/local/bin/python3): pyspark.tests.test_broadcast >> WARNING: An illegal reflective access operation has occurred >> WARNING: Illegal reflective access by org.apache.spark.unsafe.Platform >> (file:/$path/spark/common/unsafe/target/scala-2.12/classes/) to constructor >> java.nio.DirectByteBuffer(long,int) >> ``` >> >> FWIW, not sure if this matters, but python executable used for running these >> tests is `Python 3.10.9` under `/user/local/bin/python3`. >> >> Best, >> >> Adam Chhina >> >>> On Jan 18, 2023, at 3:05 PM, Bjørn Jørgensen <bjornjorgen...@gmail.com >>> <mailto:bjornjorgen...@gmail.com>> wrote: >>> >>> Replace >>> > > git clone g...@github.com:apache/spark.git >>> > > git checkout -b spark-321 v3.2.1 >>> >>> with >>> git clone --branch branch-3.2 https://github.com/apache/spark.git >>> This will give you branch 3.2 as today, what I suppose you call upstream >>> >>> https://github.com/apache/spark/commits/branch-3.2 >>> and right now all tests in github action are passed :) >>> >>> >>> ons. 18. jan. 2023 kl. 18:07 skrev Sean Owen <sro...@gmail.com >>> <mailto:sro...@gmail.com>>: >>>> Never seen those, but it's probably a difference in pandas, numpy >>>> versions. You can see the current CICD test results in GitHub Actions. >>>> But, you want to use release versions, not an RC. 3.2.1 is not the latest >>>> version, and it's possible the tests were actually failing in the RC. >>>> >>>> On Wed, Jan 18, 2023, 10:57 AM Adam Chhina <amanschh...@gmail.com >>>> <mailto:amanschh...@gmail.com>> wrote: >>>>> Bump, >>>>> >>>>> Just trying to see where I can find what tests are known failing for a >>>>> particular release, to ensure I’m building upstream correctly following >>>>> the build docs. I figured this would be the best place to ask as it >>>>> pertains to building and testing upstream (also more than happy to >>>>> provide a PR for any docs if required afterwards), however if there would >>>>> be a more appropriate place, please let me know. >>>>> >>>>> Best, >>>>> >>>>> Adam Chhina >>>>> >>>>> > On Dec 27, 2022, at 11:37 AM, Adam Chhina <amanschh...@gmail.com >>>>> > <mailto:amanschh...@gmail.com>> wrote: >>>>> > >>>>> > As part of an upgrade I was looking to run upstream PySpark unit tests >>>>> > on `v3.2.1-rc2` before I applied some downstream patches and tested >>>>> > those. However, I'm running into some issues with failing unit tests, >>>>> > which I'm not sure are failing upstream or due to some step I missed in >>>>> > the build. >>>>> > >>>>> > The current failing tests (at least so far, since I believe the python >>>>> > script exits on test failure): >>>>> > ``` >>>>> > ====================================================================== >>>>> > FAIL: test_train_prediction >>>>> > (pyspark.mllib.tests.test_streaming_algorithms.StreamingLinearRegressionWithTests) >>>>> > Test that error on test data improves as model is trained. >>>>> > ---------------------------------------------------------------------- >>>>> > Traceback (most recent call last): >>>>> > File >>>>> > "/Users/adam/OSS/spark/python/pyspark/mllib/tests/test_streaming_algorithms.py", >>>>> > line 474, in test_train_prediction >>>>> > eventually(condition, timeout=180.0) >>>>> > File "/Users/adam/OSS/spark/python/pyspark/testing/utils.py", line >>>>> > 86, in eventually >>>>> > lastValue = condition() >>>>> > File >>>>> > "/Users/adam/OSS/spark/python/pyspark/mllib/tests/test_streaming_algorithms.py", >>>>> > line 469, in condition >>>>> > self.assertGreater(errors[1] - errors[-1], 2) >>>>> > AssertionError: 1.8960983527735014 not greater than 2 >>>>> > >>>>> > ====================================================================== >>>>> > FAIL: test_parameter_accuracy >>>>> > (pyspark.mllib.tests.test_streaming_algorithms.StreamingLogisticRegressionWithSGDTests) >>>>> > Test that the final value of weights is close to the desired value. >>>>> > ---------------------------------------------------------------------- >>>>> > Traceback (most recent call last): >>>>> > File >>>>> > "/Users/adam/OSS/spark/python/pyspark/mllib/tests/test_streaming_algorithms.py", >>>>> > line 229, in test_parameter_accuracy >>>>> > eventually(condition, timeout=60.0, catch_assertions=True) >>>>> > File "/Users/adam/OSS/spark/python/pyspark/testing/utils.py", line >>>>> > 91, in eventually >>>>> > raise lastValue >>>>> > File "/Users/adam/OSS/spark/python/pyspark/testing/utils.py", line >>>>> > 82, in eventually >>>>> > lastValue = condition() >>>>> > File >>>>> > "/Users/adam/OSS/spark/python/pyspark/mllib/tests/test_streaming_algorithms.py", >>>>> > line 226, in condition >>>>> > self.assertAlmostEqual(rel, 0.1, 1) >>>>> > AssertionError: 0.23052813480829393 != 0.1 within 1 places >>>>> > (0.13052813480829392 difference) >>>>> > >>>>> > ====================================================================== >>>>> > FAIL: test_training_and_prediction >>>>> > (pyspark.mllib.tests.test_streaming_algorithms.StreamingLogisticRegressionWithSGDTests) >>>>> > Test that the model improves on toy data with no. of batches >>>>> > ---------------------------------------------------------------------- >>>>> > Traceback (most recent call last): >>>>> > File >>>>> > "/Users/adam/OSS/spark/python/pyspark/mllib/tests/test_streaming_algorithms.py", >>>>> > line 334, in test_training_and_prediction >>>>> > eventually(condition, timeout=180.0) >>>>> > File "/Users/adam/OSS/spark/python/pyspark/testing/utils.py", line >>>>> > 93, in eventually >>>>> > raise AssertionError( >>>>> > AssertionError: Test failed due to timeout after 180 sec, with last >>>>> > condition returning: Latest errors: 0.67, 0.71, 0.78, 0.7, 0.75, 0.74, >>>>> > 0.73, 0.69, 0.62, 0.71, 0.69, 0.75, 0.72, 0.77, 0.71, 0.74, 0.76, 0.78, >>>>> > 0.7, 0.78, 0.8, 0.74, 0.77, 0.75, 0.76, 0.76, 0.75, 0.78, 0.74, 0.64, >>>>> > 0.64, 0.71, 0.78, 0.76, 0.64, 0.68, 0.69, 0.72, 0.77 >>>>> > >>>>> > ---------------------------------------------------------------------- >>>>> > Ran 13 tests in 661.536s >>>>> > >>>>> > FAILED (failures=3, skipped=1) >>>>> > >>>>> > Had test failures in pyspark.mllib.tests.test_streaming_algorithms with >>>>> > /usr/local/bin/python3; see logs. >>>>> > ``` >>>>> > >>>>> > Here's how I'm currently building Spark, I was using the >>>>> > [building-spark](https://spark.apache.org/docs/3..1/building-spark.html) >>>>> > docs as a reference. >>>>> > ``` >>>>> > > git clone g...@github.com:apache/spark.git >>>>> > > git checkout -b spark-321 v3.2.1 >>>>> > > ./build/mvn -DskipTests clean package -Phive >>>>> > > export JAVA_HOME=$(path/to/jdk/11) >>>>> > > ./python/run-tests >>>>> > ``` >>>>> > >>>>> > Current Java version >>>>> > ``` >>>>> > java -version >>>>> > openjdk version "11.0.17" 2022-10-18 >>>>> > OpenJDK Runtime Environment Homebrew (build 11.0.17+0) >>>>> > OpenJDK 64-Bit Server VM Homebrew (build 11.0.17+0, mixed mode) >>>>> > ``` >>>>> > >>>>> > Alternatively, I've also tried simply building Spark and using a >>>>> > python=3.9 venv and installing the requirements from `pip install -r >>>>> > dev/requirements.txt` and using that as the interpreter to run tests. >>>>> > However, I was running into some failing pandas test which to me seemed >>>>> > like it was coming from a pandas version difference as >>>>> > `requirements.txt` didn't specify a version. >>>>> > >>>>> > I suppose I have a couple of questions in regards to this: >>>>> > 1. Am I missing a build step to build Spark and run PySpark unit tests? >>>>> > 2. Where could I find whether an upstream test is failing for a >>>>> > specific release? >>>>> > 3. Would it be possible to configure the `run-tests` script to run all >>>>> > tests regardless of test failures? >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe e-mail: dev-unsubscr...@spark.apache.org >>>>> <mailto:dev-unsubscr...@spark.apache.org> >>>>> >>> >>> >>> -- >>> Bjørn Jørgensen >>> Vestre Aspehaug 4, 6010 Ålesund >>> Norge >>> >>> +47 480 94 297 >>