Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package jctools for openSUSE:Factory checked in at 2022-03-10 22:45:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/jctools (Old) and /work/SRC/openSUSE:Factory/.jctools.new.2349 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jctools" Thu Mar 10 22:45:30 2022 rev:2 rq:960748 version:3.3.0 Changes: -------- --- /work/SRC/openSUSE:Factory/jctools/jctools.changes 2019-10-31 18:13:50.465921949 +0100 +++ /work/SRC/openSUSE:Factory/.jctools.new.2349/jctools.changes 2022-03-11 11:44:42.794839559 +0100 @@ -1,0 +2,77 @@ +Thu Mar 10 11:43:09 UTC 2022 - Fridrich Strba <[email protected]> + +- Upgrade to 3.3.0 + * API Changes: + + Removed MpscLinkedQueue7 and MpscLinkedQueue8 and consolidated + into parent. This removes the need for the builder method on + MpscLinkedQueue. + + Deprecated QueueFactory and spec package classes. These are + not used by any users AFAICT and are only used for testing + internally. + + Removed some internal classes and reduced visibility of + internal utilities where practical. The @InternalAPI + tagging annotation is also used more extensively to discourage + dependency. + + #226: XADD unbounded mpsc/mpmc queue: highly scalable linked + array queues + + New blocking consumer MPSC + * Bug fixes: + + #334 NBHMLong iterators do not remove NO_KEY + + #335 NBHM/Long/Identity iterators only removes keys if values + have not changed. Now follow JDK convention. + + #336 MpscBlockingConsumerArrayQueue: fix race writing to + blocked field + + #339 'fill' wakeup call can spin forever (or until a consumer + is blocked again) on MpscBlockingConsumerArrayQueue + + #319 Relying on test cases provided by #328 we apply the fix + used for #205 to 'NonBlockingHashMapLong' and + 'NonBlockingIdentityHashMap' to provide 'getAndSet' like + semantics for put and remove. + + #330 Fix a 'NonBlockingIdentityHashMap' 'replace' bug. During + this fix some further work was done to bring the code closer + in line to the current state of 'NonBlockingHashMap' + + Use byte fields for padding (avoid upcoming false sharing + problem in JDK 15+ where field ordering has changed) + + #289 Add Automatic-Module-Name header to MANIFEST.MF + + #292 Fix inconsistent isEmpty/poll/peek/offer dynamics for + SpscLinkedQueue + + Fixed potential for negative queue size for indexed queues and + similar issue with isEmpty + + #296 Fix peek/relaxedPeek race with poll/offer in MC queues + + #297 Fix inconsistent size of FF based queues causing + potential size() > capacity() + + #316 Fix MpscBlockingConsumerArrayQueue::poll(TimeUnit,timeout) + + #310 Fix MpmcUnboundedXaddArrayQueue::peek/relaxedPeek + can load "future" elements + + #209: On Arm7, non-volatile long can have unaligned address + leading to error + + #216: Size of SpscGrowableArrayQueue can exceeds max capacity + + #241: Protect the producer index in case of OutOfMemoryError + + #244: Long NBHM AssertionError when replacing missing key + + Fix argument checks on fill/drain methods + + Fix LGTM warning, potential int overflow bug + * Enhancements: + + #326 Xadd queues consumers can help producers + + #323 Update to latest JCStress (thanks @shipilev ) + * Improvements: + + Don't mark generated linked atomic queues as final + + #211: Implement batching methods on MpmcArrayQueue + + #228: Iterator for MpscArrayQueue and MpscUnboundedArrayQueue + + Iterator support also available for the *ArrayQueue classes + + #208: MpscLinkedAtomicQueue can be made not final + + #237: Add scale to exception message to help debug + netty/netty#8916 + * New features: + + #340 MpscBlockingConsumerArrayQueue + + After long incubation and following a user request (see #321), + we move counters into core + + Merging some experimental utils and a #264 we add a + 'PaddedAtomicLong' + + #314 MpscBlockingConsumerArrayQueue::offerIfBelowThreshold is + added +- Added patch: + * imports.patch + + Fix bug in adding of imports that broke build with + javaparser >= 2.15.0 + +------------------------------------------------------------------- Old: ---- jctools-2.1.2.tar.gz New: ---- JCTools-3.3.0.tar.gz imports.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ jctools.spec ++++++ --- /var/tmp/diff_new_pack.EfAui3/_old 2022-03-11 11:44:43.278840101 +0100 +++ /var/tmp/diff_new_pack.EfAui3/_new 2022-03-11 11:44:43.282840106 +0100 @@ -1,7 +1,7 @@ # # spec file for package jctools # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,37 +16,34 @@ # +%global srcname JCTools Name: jctools -Version: 2.1.2 +Version: 3.3.0 Release: 0 Summary: Java Concurrency Tools for the JVM License: Apache-2.0 -URL: https://jctools.github.io/JCTools/ -Source0: https://github.com/JCTools/JCTools/archive/v%{version}/%{name}-%{version}.tar.gz +URL: https://github.com/JCTools/JCTools +Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz +Patch0: imports.patch BuildRequires: fdupes BuildRequires: maven-local -BuildRequires: mvn(com.github.javaparser:javaparser-core) -BuildRequires: mvn(com.google.guava:guava-testlib) -BuildRequires: mvn(junit:junit) +BuildRequires: mvn(com.github.javaparser:javaparser-core) >= 3.14.16 BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) BuildRequires: mvn(org.codehaus.mojo:exec-maven-plugin) -BuildRequires: mvn(org.hamcrest:hamcrest-all) -BuildRequires: mvn(org.ow2.asm:asm-util) -# uses sun.misc.Unsafe -BuildConflicts: java-devel >= 9 +BuildRequires: mvn(org.ow2.asm:asm-all) BuildArch: noarch %description This project aims to offer some concurrent data structures currently missing from the JDK: -?? SPSC/MPSC/SPMC/MPMC Bounded lock free queues -?? SPSC/MPSC Unbounded lock free queues -?? Alternative interfaces for queues -?? Offheap concurrent ring buffer for ITC/IPC purposes -?? Single Writer Map/Set implementations -?? Low contention stats counters -?? Executor +* SPSC/MPSC/SPMC/MPMC Bounded lock free queues +* SPSC/MPSC Unbounded lock free queues +* Alternative interfaces for queues +* Offheap concurrent ring buffer for ITC/IPC purposes +* Single Writer Map/Set implementations +* Low contention stats counters +* Executor %package channels Summary: JCTools Channel implementations @@ -68,80 +65,47 @@ %description javadoc This package contains javadoc for %{name}. -%package parent -Summary: JCTools Parent POM - -%description parent -JCTools Parent POM. - %prep -%setup -q -n JCTools-%{version} -# Cleanup -find . -name '*.class' -print -delete -find . -name '*.jar' -print -delete - -# Remove failure-prone tests (race condition?) -rm jctools-core/src/test/java/org/jctools/queues/MpqSanityTestMpscCompound.java -rm jctools-core/src/test/java/org/jctools/queues/atomic/AtomicMpqSanityTestMpscCompound.java +%setup -q -n %{srcname}-%{version} +%patch0 -p1 +# set correct version in all pom.xml files %pom_xpath_set pom:project/pom:version %{version} -%pom_xpath_set -r pom:parent/pom:version %{version} %{name}-{build,core,channels,experimental} +%pom_xpath_set pom:parent/pom:version %{version} jctools-{build,core,channels,experimental} -# Remove plugins unnecessary for RPM builds +# remove plugins unnecessary for RPM builds +%pom_remove_plugin :coveralls-maven-plugin jctools-core +%pom_remove_plugin :jacoco-maven-plugin jctools-core %pom_remove_plugin :maven-enforcer-plugin -%pom_remove_plugin :coveralls-maven-plugin -%pom_remove_plugin :jacoco-maven-plugin -%pom_remove_plugin :maven-source-plugin %{name}-core -%pom_remove_plugin :maven-javadoc-plugin %{name}-core - -# Unavailable deps -%pom_disable_module %{name}-benchmarks -%pom_disable_module %{name}-concurrency-test - -# Modern asm deps -%pom_change_dep ":asm-all" ":asm-util" jctools-{channels,experimental} - -# Add OSGi support -for mod in core experimental; do - %pom_xpath_set "pom:project/pom:packaging" bundle %{name}-${mod} - %pom_add_plugin org.apache.felix:maven-bundle-plugin:2.3.7 %{name}-${mod} ' - <extensions>true</extensions> - <executions> - <execution> - <id>bundle-manifest</id> - <phase>process-classes</phase> - <goals> - <goal>manifest</goal> - </goals> - </execution> - </executions> - <configuration> - <excludeDependencies>true</excludeDependencies> - </configuration>' -done +%pom_remove_plugin :maven-source-plugin jctools-core +%pom_remove_plugin :maven-javadoc-plugin jctools-core + +# disable unused modules with unavailable dependencies +%pom_disable_module jctools-benchmarks +%pom_disable_module jctools-concurrency-test -# No need to package internal build tools +# do not install internal build tools %{mvn_package} :jctools-build __noinstall +# do not install unused parent POM +%{mvn_package} :jctools-parent __noinstall + %build -%{mvn_build} -s -f +%{mvn_build} -sf -- -Dsource=8 %install %mvn_install %fdupes -s %{buildroot}%{_javadocdir} -%files -f .mfiles-%{name}-core +%files -f .mfiles-jctools-core %doc README.md %license LICENSE -%files channels -f .mfiles-%{name}-channels +%files channels -f .mfiles-jctools-channels -%files experimental -f .mfiles-%{name}-experimental +%files experimental -f .mfiles-jctools-experimental %files javadoc -f .mfiles-javadoc %license LICENSE -%files parent -f .mfiles-%{name}-parent -%license LICENSE - %changelog ++++++ imports.patch ++++++ --- JCTools-3.3.0/jctools-build/src/main/java/org/jctools/queues/atomic/JavaParsingAtomicArrayQueueGenerator.java 2021-03-04 13:31:26.000000000 +0100 +++ JCTools-3.3.0/jctools-build/src/main/java/org/jctools/queues/atomic/JavaParsingAtomicArrayQueueGenerator.java 2022-03-10 01:17:42.600945295 +0100 @@ -126,7 +126,7 @@ cu.addImport(importDeclaration("java.util.concurrent.atomic.AtomicReferenceArray")); cu.addImport(importDeclaration("java.util.concurrent.atomic.AtomicLongArray")); cu.addImport(importDeclaration("org.jctools.queues.MessagePassingQueueUtil")); - cu.addImport(staticImportDeclaration("org.jctools.queues.atomic.AtomicQueueUtil.*")); + cu.addImport(staticImportDeclaration("org.jctools.queues.atomic.AtomicQueueUtil")); } /** --- JCTools-3.3.0/jctools-build/src/main/java/org/jctools/queues/atomic/JavaParsingAtomicLinkedQueueGenerator.java 2021-03-04 13:31:26.000000000 +0100 +++ JCTools-3.3.0/jctools-build/src/main/java/org/jctools/queues/atomic/JavaParsingAtomicLinkedQueueGenerator.java 2022-03-10 01:17:34.301128084 +0100 @@ -174,7 +174,7 @@ cu.addImport(importDeclaration("org.jctools.queues.MessagePassingQueueUtil")); cu.addImport(importDeclaration("org.jctools.queues.QueueProgressIndicators")); cu.addImport(importDeclaration("org.jctools.queues.IndexedQueueSizeUtil")); - cu.addImport(staticImportDeclaration("org.jctools.queues.atomic.AtomicQueueUtil.*")); + cu.addImport(staticImportDeclaration("org.jctools.queues.atomic.AtomicQueueUtil")); } /** --- JCTools-3.3.0/jctools-build/src/main/java/org/jctools/queues/atomic/JavaParsingAtomicQueueGenerator.java 2021-03-04 13:31:26.000000000 +0100 +++ JCTools-3.3.0/jctools-build/src/main/java/org/jctools/queues/atomic/JavaParsingAtomicQueueGenerator.java 2022-03-10 01:17:27.333281545 +0100 @@ -291,7 +291,7 @@ } protected ImportDeclaration importDeclaration(String name) { - return new ImportDeclaration(new Name(name), false, false); + return new ImportDeclaration(name, false, false); } /** @@ -327,7 +327,7 @@ } ImportDeclaration staticImportDeclaration(String name) { - return new ImportDeclaration(new Name(name), true, false); + return new ImportDeclaration(name, true, true); } }
