New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adapt Configuration/DataProcessing to python3 #28174
Conversation
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-28174/12248
|
A new Pull Request was created by @fabiocos (Fabio Cossutti) for master. It involves the following packages: Configuration/DataProcessing @cmsbuild, @franzoni, @fabiocos, @kpedro88, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
The tests are being triggered in jenkins. |
this update is enough to let the unit test run smoothly, but in order to dump correctly the output a further updated is needed, I will profit from the update to |
Comparison job queued. |
The code-checks are being triggered in jenkins. |
Comparison is ready Comparison Summary:
|
code-checks |
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-28174/12279
|
@smuzaffar as far as I can so far we are using protocol=0 in pickle.dump , which is the default in python2.7 according to https://docs.python.org/2/library/pickle.html if no other value is specified explicitly. And indeed the .pkl files are readable as ascii text files (which does not mean that they are meaningful to a human reader). I now explicitly set this option, and with that pickle files produced in python2 can be processed by python3 and produce an output. What I notice though is that the output are different in all cases: py2 vs py3, py2 vs py3_from_py2pickle . Apart for the trivial order of a number of lines, there are other differences I see.
or even worse
But what worries me more is that some pieces of configuration present in py2 seem to be missing in py3. Dumping an example express configuration I cannot find in the py3 version
|
@smuzaffar I have tried the following test: I dump the configurations of test wf 10824.0 produced with runTheMatrix.py adjusted by you, and I compare the output in py2 and py3. The compact configurations look in agreement, but for the order of the input options (which we had discussed) and some sequences, which anyway are all present. If I expand them with I will now test this PR, and if ok I would suggest to merge it, unless you or @davidlange6 and @Dr15Jones have a different advice. This should technically fix a unit test, the problem of different outputs seems to me to be dealt with independently. |
please test |
The tests are being triggered in jenkins. |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
expanding the configurations built in python2 with and without this PR there is no difference, so I think it is safe to merge this PR |
+operations |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @davidlange6, @slava77, @smuzaffar, @fabiocos (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
PR description:
Minimal adjustments to Configuration/DataProcessing to pass the unit test in the PY3 IB.
PR validation:
scram b runtests
is passed both in the standard (python2) and python3 builds. The output comparison requiresedmConfigDump
to work in python3, features independently added by #28173