Skip to content
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

OPSC-16690 Upgraded Jython version to 2.7.3 from frozen-mirror #16

Open
wants to merge 381 commits into
base: master
Choose a base branch
from

Conversation

nisanth-datastax
Copy link

@nisanth-datastax nisanth-datastax commented Aug 2, 2024

Please refer to the excel sheet below for the details on the delta changes that were done by DataStax on the older Jython version.
https://docs.google.com/spreadsheets/d/19F3S7m8AK2bl0LauBR4eAlFZnBlJ6xMWWCznupXtjSY/edit?gid=0#gid=0

Each of the delta commits have been analysed and the changes which were not handled in the latest Jython upgrade have been added in this pr.

jeff5 and others added 30 commits May 22, 2017 23:27
Fixes regression in launcher that prevents running from bin directory.
…rous tests. Issue is kept open to discuss better future solutions.
…ibs where an update attempt caused notable issues were left unmodified.
This removes an obsolete defence against encoding errors during the
processing of exceptions, which is now dealt with in Py.dispayException.
Problem was a missing assignment to the message variable. Also brought
words closer to CPython 2.7.13.
These functions now match CPython expectations. In many cases, the root
cause was in _socket.py.
This partially backs out cffe5b824a21, to restore synchronisation, but
keeps the IOD singleton pattern to protect the type registry. It backs
out f3458ef83e08, now unnecessary with PyType synchronised. See also
discussion in #2487.
This was a regresion caused when trying to deal with non-ascii paths in
the preparation of a log message. Thanks to James Mudd for diagnosing
this. Also jython#86.
jeff5 and others added 14 commits February 21, 2020 08:32
We allow up to 2 seconds discrepancy in the logic that decides whether
to re-compile .py source to $py.class files. This is to accommodate the
rounding of last-modified time that occurs when storing and extracting
files from a JAR, as during installation. We choose to round times down
when JARring and allow 2 seconds positive difference in the check.

This has benefits beyond #2862, in avoiding spurious recompilation, so
is made a distinct commit.

At the same time the implications of #2862 are arguably not addressed
fully until the JAR cache is made user-local.

--HG--
extra : amend_source : b01f31c727008f16808e4095db542f9af3949967
We no longer try to cache every user's JARs in the installation
directory, ineffective since fix of #2044. Behaviour for applications
that set an absolute location (or skip) is unchanged.
If the map was modified during a call to keys(), the keyset would change
size and cause an ArrayIndexOutOfBoundsException. This creates a copy of
the keyset and uses that throughout the method.

--HG--
extra : amend_source : 025dd98595b444af0c4ffb67ae4bd4252fb752b4
Shading the Bouncy Castle classes in our JAR makes them untrusted as a
security provider. We document that to work around this, users provide
the JARs directly.
Update version numbers. Add jffi-dll-droppings to .hgignore so as to avoid
complaints from the build after test.
... whilst hoping the next release is actually 2.7.2
Fix options so they actually work, set hard defaults
Jenkinsfile Outdated
usernameVariable: 'ARTIFACTORY_USER',
passwordVariable: 'ARTIFACTORY_PASSWORD')]) {
// sh "curl -sSf -u '$ARTIFACTORY_USER:$ARTIFACTORY_PASSWORD' -X PUT -T artifacts/$jarfilename 'https://repo.aws.dsinternal.org/ui/native/dse/com/datastax/opscenter/jython-standalone/2.7.3a1/$jarfilename'"
sh "curl -v --user $ARTIFACTORY_USER:$ARTIFACTORY_PASSWORD --data-binary artifacts/$jarfilename -X PUT 'https://repo.aws.dsinternal.org/ui/native/dse/com/datastax/opscenter/jython-standalone/2.7.3a1/$jarfilename'"
Copy link
Collaborator

@orion104 orion104 Aug 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've been poking at this problem again today and after going through the ui to manually upload the artifact I'm seeing something that might be the problem. The repo the jython artifact is in is 'datastax-public-releases-local'. Any attempt to upload the artifact you make should include that somewhere. In the case here I think it either replaces the 'dse' portion of the url or comes after it.

Here is a link to the artifactory page showing the test artifact I was able to upload and the reference from the opscenterd dependencies:
https://repo.aws.dsinternal.org/ui/repos/tree/General/datastax-public-releases-local/com/datastax/opscenter/jython-standalone/2.7.3a1-test

I hope to be able to test the upload using curl, but I'm not sure if I'll have time during what is left of my workday.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The upload is working for with curl now with this change @orion104, Thank you!

Does this mean we won't need to use ivy to upload to the artifactory anymore? If so, I will cleanup the ivy related changes in the code and have only the relevant changes.

@nisanth-datastax nisanth-datastax force-pushed the OPSC-16690 branch 4 times, most recently from f2510fa to 7c202f3 Compare August 20, 2024 13:38
The commit includes changes to Build.xml to version the
jython-standalone jar file.The commit also includes
a Jenkinsfile which will be used to build the
project with ant and publish the artifacts to
artifactory.
@venu-datastax
Copy link

venu-datastax commented Oct 1, 2024

@vimal-ds This PR is the next step we want to complete.
This branch has several changes from public jython/jython/latest-version and all the necessary changes from
riptano/jython/ripcord-master. Making master closer to the public jython makes sense.

The biggest impediment in merging OPSC-16690 into ripcord-master is inconsistent styling rules. public jython moved away from older jython linting we forked into our private repo.
we did not move deploy stage changes from ripcord-master to this branch as listed in the attached sheet. I will move these as part of new PR if necessary. Need to look at them closely. i will look at the git diff between riptano/jython/ripcord-master and riptano/jython/master after the merge and create a ticket to get styling consistency if needed.

Copy link

@vimal-ds vimal-ds left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.