Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2752 commits
Select commit Hold shift + click to select a range
95a0c57
Commons 5.6 - Java 11 & Gradle 7.4.2 #7
Jun 22, 2022
eab054e
Commons 5.6 - fix some deprecations
Jun 23, 2022
c897712
CurrencyCodes.xml should be re-downloaded on the "prepare" stage of t…
Jun 23, 2022
a330a7b
build script cleanup
Jun 23, 2022
60183c2
Generated collections - Avoid using deprecated constructors #8
Jun 23, 2022
4e28a05
jna platform dependency conflict #4
Jun 23, 2022
229630b
improve gradle scripts
Jun 23, 2022
03f64cd
fix unsupported tags in javadoc
Jun 23, 2022
619fa64
migrate to com.epam.deltix:gflog-api #7
Jun 24, 2022
bc34dcc
remove unused project :messages
Jun 24, 2022
f448f76
fix publishing error - Publication only contains dependencies and/or …
Jun 24, 2022
56f6c5f
minor fixed for gitlab release plugin config
Jun 24, 2022
35d9910
update dependencies visibility
Jun 24, 2022
931f533
move jidesoft to api scope
Jun 24, 2022
dc2e8de
move gui dependencies to api scope
Jun 24, 2022
b389121
remove :tools project
Jun 27, 2022
dad3524
remove :tools project
Jun 27, 2022
9d41026
Fix the method toString of ArrayList
astsiapanay Jul 4, 2022
498a262
Merge branch '600-cluster-content-of-dirty-blocks-column-shows-invali…
Alexei-Osipov-EPAM Jul 4, 2022
c29a8af
Fix the method toString of ArrayList
astsiapanay Jul 4, 2022
76b8293
Merge branch 'apply-fix-for-array-list-to-string' into 'integration-5.4'
Alexei-Osipov-EPAM Jul 4, 2022
761a565
Merge branch 'integration-5.6' of gitlab.deltixhub.com:Deltix/QuantSe…
Jul 12, 2022
7afd212
Support JUnit 5 tests
Jul 12, 2022
a3beff3
[*] https://gitlab.deltixhub.com/Deltix/QuantServer/QuantServer/-/iss…
alex-karpovich Sep 7, 2022
04055f8
[-] Deltix/QuantServer/QuantServer#496
alex-karpovich Sep 14, 2022
cf20076
[*] CI fix
alex-karpovich Sep 14, 2022
9a90129
[*] CI
alex-karpovich Sep 14, 2022
e1663b3
[*] CI
alex-karpovich Sep 14, 2022
cb59833
[*] CI
alex-karpovich Sep 14, 2022
7b2bfc1
[*] CI
alex-karpovich Sep 14, 2022
57bed08
[*] CI
alex-karpovich Sep 14, 2022
85beb8d
[*] owasp checker
alex-karpovich Sep 14, 2022
710d58d
Merge remote-tracking branch 'remotes/origin/integration-5.4' into in…
alex-karpovich Sep 14, 2022
3c7675a
CI - Migrate to dockerhub.deltixhub.com/gradle:7.4.2-jdk11-alpine image
Nov 4, 2022
466a6f1
Revert "CI - Migrate to dockerhub.deltixhub.com/gradle:7.4.2-jdk11-al…
Nov 4, 2022
c6f5895
Merge branch 'integration-5.6' of gitlab.deltixhub.com:Deltix/QuantSe…
Nov 4, 2022
9593ff5
CI - Migrate to dockerhub.deltixhub.com/gradle:7.4.2-jdk11-alpine image
Nov 4, 2022
f0c67b4
CI - Use pre-installed Gradle
Nov 7, 2022
058c425
switched promote to public to use DockerExecutor
andy-malakov-deltix Nov 7, 2022
d307521
[-] CVE-2022-42920
alex-karpovich Nov 11, 2022
a6fead2
Merge branch 'integration-5.6' of https://gitlab.deltixhub.com/Deltix…
alex-karpovich Nov 11, 2022
2b6fb82
[+] add dependency check on CI
alex-karpovich Nov 21, 2022
a2cbf52
QuantServer#744 Cluster: Extract VSServer/VSClient into a separate mo…
astsiapanay Dec 14, 2022
304d1fd
Merge branch '744-cluster-extract-vsserver-vsclient-into-a-separate-m…
Dec 14, 2022
9a3f38f
[*] duration added
alex-karpovich Feb 15, 2023
d861c24
Merge branch 'integration-5.6' of https://gitlab.deltixhub.com/Deltix…
alex-karpovich Feb 15, 2023
42e3782
add ability to set escapeCharacters list in csvWriter
IvanNoyvik Feb 24, 2023
22eddee
add EOL characters to default escape characters
IvanNoyvik Feb 28, 2023
cee1158
add quote character
IvanNoyvik Feb 28, 2023
3e4c48e
[*] simplify
alex-karpovich Feb 28, 2023
14463c9
[*] comments
alex-karpovich Feb 28, 2023
dc6d532
Merge branch 'csvWriter-escape-characters' into 'integration-5.6'
Feb 28, 2023
cba6923
Merge branch 'flushable-stream-fix' into 'integration-5.4'
Mar 28, 2023
8c6846a
Upgrade to Gradle 8
Alexei-Osipov-EPAM Apr 28, 2023
ee25ebc
Merge branch 'upgrade-to-gradle-8' into 'integration-5.6'
Alexei-Osipov-EPAM Apr 28, 2023
684aee4
[*] update guava
alex-karpovich Jun 30, 2023
58a29e5
[-] https://gitlab.deltixhub.com/Deltix/QuantServer/Common/Commons/-/…
alex-karpovich Jul 2, 2023
3229ba4
[*] tests
alex-karpovich Jul 2, 2023
98f0243
[*] tests
alex-karpovich Jul 2, 2023
172f4f3
[*] tests
alex-karpovich Jul 2, 2023
2867c88
[*] tests
alex-karpovich Jul 2, 2023
fa5640e
[*] CI
alex-karpovich Jul 2, 2023
987339f
[*] tests
alex-karpovich Jul 3, 2023
7069a8a
[*] CI
alex-karpovich Jul 3, 2023
21b803c
[*] fix promote
alex-karpovich Sep 5, 2023
436b525
[*] notify disposable listeners on RemoteClosing (workaround)
alex-karpovich Oct 5, 2023
6507347
[*] fix CI variable
alex-karpovich Oct 5, 2023
bbbc0c1
[*] update com.epam.deltix:hd-date-time
alex-karpovich Oct 12, 2023
65bc1e9
Remove Aeron-related classes added by mistake
Alexei-Osipov-EPAM Dec 20, 2023
a1d5081
Add Oauth2Client
Jan 4, 2024
18e2918
Merge branch 'oauth2-client' into 'integration-5.6'
Jan 4, 2024
f098279
Add Test_VSocketChannelLeak
Alexei-Osipov-EPAM Jan 11, 2024
26a8c8f
Change VSChannel to use typed DisposableListener
Alexei-Osipov-EPAM Jan 11, 2024
6602ed6
Merge branch 'typed-vschannel-api' into 'integration-5.6'
Jan 12, 2024
eb024f4
Fix Test_VSocketChannelLeak by closing the channel on server side
Alexei-Osipov-EPAM Jan 12, 2024
2b862a3
Add "tag" field to VSChannel
Alexei-Osipov-EPAM Jan 12, 2024
6229bc4
Fix test for CI
Alexei-Osipov-EPAM Jan 12, 2024
f11168b
Fix test for CI
Alexei-Osipov-EPAM Jan 12, 2024
d83e0cd
Merge branch 'add-tag' into 'integration-5.6'
Alexei-Osipov-EPAM Jan 12, 2024
bc00c85
Fix test for CI
Alexei-Osipov-EPAM Jan 12, 2024
af5f069
Fix test for CI
Alexei-Osipov-EPAM Jan 12, 2024
e529490
Disable test
Alexei-Osipov-EPAM Jan 12, 2024
109b125
Update TimeKeeper docs
Alexei-Osipov-EPAM Jan 24, 2024
1f28945
Merge branch 'timekeeper-docs' into 'integration-5.6'
Jan 24, 2024
181be6a
Nvd api
Alexei-Osipov-EPAM Jan 24, 2024
f5516bc
Merge branch 'nvd-api' into 'integration-5.6'
Alexei-Osipov-EPAM Jan 24, 2024
0e9020c
Disable dependency check on each build
Alexei-Osipov-EPAM Jan 29, 2024
fdb2391
Monotonic realtime clock with nanosecond resolution
Alexei-Osipov-EPAM Jan 30, 2024
cc3a8e4
Merge branch 'monotonic-realtime-clock' into 'integration-5.6'
Jan 30, 2024
4dec615
Control benchmarked method with system property
Alexei-Osipov-EPAM Jan 30, 2024
72bfbb6
Improve benchmark
Alexei-Osipov-EPAM Jan 30, 2024
699c7ae
Improve benchmark: always use TimeSource
Alexei-Osipov-EPAM Jan 31, 2024
9b88773
Improve benchmark: more details
Alexei-Osipov-EPAM Jan 31, 2024
f7b34ba
MonotonicRealTimeSource - improve docs
Alexei-Osipov-EPAM Feb 1, 2024
6b2ee34
Add DefaultTimeSourceProvider for Deltix/QuantServer/QuantServer#1093
Alexei-Osipov-EPAM Feb 2, 2024
92b42c4
Merge branch 'timesource-provider' into 'integration-5.6'
Alexei-Osipov-EPAM Feb 2, 2024
b65059f
Switch SMI to v2
Alexei-Osipov-EPAM Feb 2, 2024
b1f43b3
Disable Test_ThrottlingExecutor
Alexei-Osipov-EPAM Feb 2, 2024
7595bb8
Upgrade PromotionSupport script to v0.8
Alexei-Osipov-EPAM Feb 9, 2024
2d4b7be
Add CI job to promote old commons version
Alexei-Osipov-EPAM Feb 9, 2024
9ac1674
Change branch to temp CI job
Alexei-Osipov-EPAM Feb 9, 2024
efacbc9
Remove deltix-commons-log promotion
Alexei-Osipov-EPAM Feb 9, 2024
3197862
Remove deltix-commons-tools promotion
Alexei-Osipov-EPAM Feb 9, 2024
0539360
Remove temporary CI Job
Alexei-Osipov-EPAM Feb 9, 2024
d274df0
Deltix/QuantServer/QuantServer#1069 Add support of custom lock object…
Alexei-Osipov-EPAM Feb 27, 2024
c816264
Merge branch 'reconnectable-refactor' into 'integration-5.6'
Feb 28, 2024
970e66d
Update gradle.properties
Apr 18, 2024
7f61423
+ObjectArrayList.addAll(List<T>)
Apr 29, 2024
5ac46f9
added comments
Apr 30, 2024
a21d194
added computeIfAbsent() to LongToObjMap
Apr 30, 2024
45ef8f5
minor polish
Apr 30, 2024
594edcd
unit test
Apr 30, 2024
190e921
[*] corrections for reading UTF
alex-karpovich May 21, 2024
53a464f
Merge branch 'integration-5.6' of https://gitlab.deltixhub.com/Deltix…
alex-karpovich May 21, 2024
f22e8ed
[*] dependencies
alex-karpovich Jun 5, 2024
9c1f77e
Fix jar scanner for java 17
Jun 14, 2024
2605f2e
Merge branch 'jar-scanner-fix' into 'integration-5.6'
alex-karpovich Jun 15, 2024
81fa3a4
[*] support custom address
alex-karpovich Jun 26, 2024
31411d9
[*] added client address
alex-karpovich Jun 26, 2024
c475be9
[*] client address correction
alex-karpovich Jun 26, 2024
adfd575
Remove legacy Aeron transport support. Remove unused dependencies.
Alexei-Osipov-EPAM Jul 9, 2024
f1b26ed
Merge branch 'remove_aeron' into 'integration-5.6'
alex-karpovich Jul 10, 2024
31b3d60
Inherit List from java.util.List; Add List.add, setSize, sort methods
Jul 24, 2024
2711adf
Add RingedList
Oct 25, 2023
9048389
Merge branch 'list-collections-5.6' into 'integration-5.6'
alex-karpovich Jul 24, 2024
074cab4
Add constructor with message text to SyntaxErroException
Aug 12, 2024
8b5ae19
Merge branch 'syntax-error-fix-5.6' into 'integration-5.6'
alex-karpovich Aug 12, 2024
1887231
Fix promotion support
Alexei-Osipov-EPAM Aug 21, 2024
b3af7d9
[*] cleanup
alex-karpovich Aug 26, 2024
cf08fbf
Merge branch 'integration-5.6' of https://gitlab.deltixhub.com/Deltix…
alex-karpovich Aug 26, 2024
e13c240
[Gradle] Remove "-SNAPSHOT" during promotion
Alexei-Osipov-EPAM Aug 27, 2024
419f571
ARM64 native clock support
Aug 27, 2024
eb15d25
Set SSL Termination property
Sep 5, 2024
f54af8a
Merge branch 'ssl-termination-prop' into 'integration-5.6'
alex-karpovich Sep 5, 2024
bb41a21
VSClient ssl termination property
Sep 5, 2024
8a2c87b
Merge branch 'ssl-termination-prop' into 'integration-5.6'
alex-karpovich Sep 5, 2024
eb33a26
Oauth2 cert flow
Sep 13, 2024
c309a90
Merge branch 'oauth2-cert-flow' into 'integration-5.6'
alex-karpovich Sep 13, 2024
89bcd48
#15 Fix race condition in JavaCompilerHelper.
Alexei-Osipov-EPAM Sep 17, 2024
39ac821
Merge branch 'java17-compiler-helper' into 'integration-5.6'
alex-karpovich Sep 17, 2024
297103c
[*] Start wilt SSL (instead of protocol upgrade) if SSL termination i…
Alexei-Osipov-EPAM Sep 20, 2024
a4bd59b
Merge branch 'start-with-ssl' into 'integration-5.6'
alex-karpovich Sep 20, 2024
b47bf87
[*] minor changes
alex-karpovich Sep 20, 2024
b0c9f5e
ARM64 native clock support
Oct 10, 2024
0791429
#18 Fix stuck loop in ChannelExecutor
Alexei-Osipov-EPAM Nov 12, 2024
301b209
Merge branch 'fix-vschannel-flush' into 'integration-5.6'
alex-karpovich Nov 12, 2024
18061a7
ChannelExecutor: Do not create CPUEater for non-Windows env
Alexei-Osipov-EPAM Nov 12, 2024
a7b31e3
Fix Velocity output folder cleanup order
Alexei-Osipov-EPAM Nov 12, 2024
3279674
Gradle: Update Velocity plugin to allow Gradle Configuration Cache
Alexei-Osipov-EPAM Nov 14, 2024
389e1a4
Gradle 8.11
Alexei-Osipov-EPAM Nov 12, 2024
5324436
Gradle: Update Velocity plugin to correctly cache task result
Alexei-Osipov-EPAM Nov 14, 2024
015e794
Support create SSLContext from Windows keystore type
Nov 18, 2024
be56ee1
Merge branch 'ssl-context' into 'integration-5.6'
alex-karpovich Nov 18, 2024
b5b7177
[*] corrections
alex-karpovich Nov 18, 2024
6303775
VSClient: set socket buffer sizes before connect
Alexei-Osipov-EPAM Nov 22, 2024
99ed2bc
Merge branch 'socket-buffers' into 'integration-5.6'
alex-karpovich Nov 22, 2024
b423b75
VSChannelImpl: reduce notifyThreshold for big buffers
Alexei-Osipov-EPAM Nov 26, 2024
e0cebeb
Merge branch 'reduce-notify-threshold' into 'integration-5.6'
alex-karpovich Nov 26, 2024
99705b6
VSockets: Remove redundant synchronization on "deflater"
Alexei-Osipov-EPAM Nov 27, 2024
7fd9325
Refactor ChannelOutputStream: send at most one partial packet, optimi…
Alexei-Osipov-EPAM Nov 27, 2024
6c1db25
Merge branch 'channel-refactor-1' into 'integration-5.6'
alex-karpovich Nov 27, 2024
80141ce
VSockets: Make BufferedInputStream size configurable
Alexei-Osipov-EPAM Nov 27, 2024
734f9de
Merge branch 'customizable-input-buf-size' into 'integration-5.6'
alex-karpovich Nov 27, 2024
d564690
VSockets: Configurable VSocketOutputStream.CAPACITY
Alexei-Osipov-EPAM Dec 5, 2024
493d877
Merge branch 'out-stream-capacity' into 'integration-5.6'
alex-karpovich Dec 6, 2024
588893e
VSockets: Reduce blocking on "enableFlushing" call
Alexei-Osipov-EPAM Dec 10, 2024
eeae996
VSockets: Do not re-submit "completeTask" multiple times
Alexei-Osipov-EPAM Dec 10, 2024
c720016
VSockets: Basic correctness test
Alexei-Osipov-EPAM Dec 10, 2024
d528fa6
Merge branch 'reduce-flush-blocking' into 'integration-5.6'
alex-karpovich Dec 10, 2024
430564d
VSockets: Allow partial flush in ChannelOutputStream.enableFlushing()
Alexei-Osipov-EPAM Dec 13, 2024
bb138b5
VSockets: Fix VSChannelImpl leak
Alexei-Osipov-EPAM Dec 20, 2024
477e31c
Deltix/QuantServer/QuantServer#1269 Trigger disconnect event when VSC…
Alexei-Osipov-EPAM Jan 20, 2025
7c59528
Deltix/QuantServer/QuantServer#1269 Make TickDBClient.createChannel t…
Alexei-Osipov-EPAM Jan 20, 2025
32887fb
Deltix/QuantServer/QuantServer#1269 Handle connection attempts to a r…
Alexei-Osipov-EPAM Jan 20, 2025
449993e
feat: upgrade GitLab Release Plugin version
Jan 23, 2025
72966cf
Fix NPE in VSDispatcher
Alexei-Osipov-EPAM Jan 30, 2025
9aeeeee
ChannelOutputStream: Do full flush when buffer is close to be full
Alexei-Osipov-EPAM Feb 28, 2025
39acf77
Gradle: Update PromotionSupport to v0.8.6
Alexei-Osipov-EPAM Feb 28, 2025
4142b52
Gradle: Gradle 8.13, fix warnings
Alexei-Osipov-EPAM Feb 28, 2025
17af6eb
ChannelOutputStream: Fix enableFlushing()
Alexei-Osipov-EPAM Feb 28, 2025
739a384
CI: Use right Docker image for Gradle
Alexei-Osipov-EPAM Mar 22, 2025
7ce5c76
VSockets: Prevent deadlock on VSDispatcher.dispatcherRecoveryFuture
Alexei-Osipov-EPAM Apr 10, 2025
3d9de34
Merge branch 'vsdispatcher-deadlock' into 'integration-5.6'
alex-karpovich Apr 10, 2025
b0eba18
VSockets: Replace getConnectionStateFuture() with waitAngGetConnectio…
Alexei-Osipov-EPAM Apr 10, 2025
0c878d4
VSockets: Prevent memory leak on VSDispatcher.dispatcherRecoveryFuture
Alexei-Osipov-EPAM Apr 10, 2025
c759714
VSockets: Ensure that socket gets closed if VSClient.setupSocket() en…
Alexei-Osipov-EPAM Apr 10, 2025
6e5804a
Merge branch 'fix-socket-leak' into 'integration-5.6'
alex-karpovich Apr 10, 2025
7d8f83e
Merge branch 'fix-leak-on-future' into 'integration-5.6'
alex-karpovich Apr 10, 2025
1e08f18
Merge branch 'simplify-connection-status-api' into 'integration-5.6'
alex-karpovich Apr 10, 2025
f27adec
VSockets: VSDispatcher.waitAngGetConnectionsStatus() should handle ne…
Alexei-Osipov-EPAM Apr 10, 2025
7aa3941
[*] status supported
alex-karpovich Apr 11, 2025
8a70bdc
[*] small fixes
alex-karpovich Apr 11, 2025
d399309
Merge remote-tracking branch 'remotes/origin/5.6-connection-status' i…
alex-karpovich Apr 11, 2025
7900190
Add OAuth2 Auth Code client
May 5, 2025
7cc0c2e
Merge branch 'oauth2-auth-code-5.6' into 'integration-5.6'
alex-karpovich May 5, 2025
50abf25
CI: Use release template, remove ShellExecutor
Alexei-Osipov-EPAM May 5, 2025
833e50e
Merge branch 'remove-shell-executor' into 'integration-5.6'
alex-karpovich May 5, 2025
b376022
add nano format to DateFormatDetector
IvanNoyvik May 5, 2025
cc217c1
Merge branch 'nanoTimeFormatDetector-5.6' into 'integration-5.6'
alex-karpovich May 6, 2025
505722a
Perf: Improve MemoryDataOutput.writeLongBytes() and add new API
Alexei-Osipov-EPAM May 14, 2025
51a53c6
Merge branch 'perf-mdo' into 'integration-5.6'
alex-karpovich May 15, 2025
c690c80
Perf: Use VarHandle in Data Exchange Utils
Alexei-Osipov-EPAM May 15, 2025
24c42e1
Merge branch 'data-exchange-utils-perf' into 'integration-5.6'
alex-karpovich May 15, 2025
d08d80e
Fix Util.doubleUntilAtLeast overflow
Alexei-Osipov-EPAM Jun 4, 2025
b60a481
Fix tests
Alexei-Osipov-EPAM Jun 5, 2025
c8cc38b
Perf: Improve MemoryDataOutput.writeString()
Alexei-Osipov-EPAM Jun 5, 2025
862e119
Merge branch 'perf-mdo-writeString' into 'integration-5.6'
Alexei-Osipov-EPAM Jun 5, 2025
8c85c0e
[-] fix lock ordering
alex-karpovich Jul 10, 2025
77d34f7
QuantServer#1447 On client connect, check if there are dispatchers wi…
Alexei-Osipov-EPAM Oct 28, 2025
330052b
Merge branch 'tb-1447' into 'integration-5.6'
alex-karpovich Oct 28, 2025
ca26f20
Gradle: proper lazy eval for "jar" task
Alexei-Osipov-EPAM Nov 10, 2025
d77f29c
Gradle: lazy task configuration
Alexei-Osipov-EPAM Nov 10, 2025
2544efe
Move synthetic instrument parser from quant server commons
Nov 12, 2025
73d2e2b
Merge branch 'synthetic-parser-5.6' into 'integration-5.6'
alex-karpovich Nov 12, 2025
83e4d47
QuantServer#1447 On reconnect, set CONNECTED status only if all disco…
Alexei-Osipov-EPAM Nov 12, 2025
005717a
Merge branch 'tb-1447-fix' into 'integration-5.6'
Alexei-Osipov-EPAM Nov 12, 2025
f0a9a4c
add test (https://gitlab.deltixhub.com/Deltix/QuantServer/Common/Comm…
IvanNoyvik Oct 30, 2025
0e1a3a5
fix float and double parsing (https://gitlab.deltixhub.com/Deltix/Qua…
IvanNoyvik Nov 14, 2025
707b5e0
Merge branch 'parseDoubleFix-5.6' into 'integration-5.6'
alex-karpovich Nov 14, 2025
2047886
float and double parsing correction
IvanNoyvik Nov 18, 2025
fd44201
Merge branch 'parserFix-5.6' into 'integration-5.6'
alex-karpovich Nov 18, 2025
fd19c58
QuantServer#1447 Execute VSDispatcher.stateListener.onDisconnected() …
Alexei-Osipov-EPAM Nov 18, 2025
101edc7
Merge branch 'tb-1447-fix2' into 'integration-5.6'
alex-karpovich Nov 18, 2025
ba276aa
Update dependency check
Alexei-Osipov-EPAM Nov 18, 2025
5e6fe5e
Merge branch 'update-dependency-check' into 'integration-5.6'
alex-karpovich Nov 18, 2025
adf4208
CI: Update rules for dependency-check
Alexei-Osipov-EPAM Nov 18, 2025
50f3b99
Test: disable repetitions for Test_ClientReconnect
Alexei-Osipov-EPAM Nov 18, 2025
841a8cb
Gradle: gitlab-release plugin 2.0.4
Alexei-Osipov-EPAM Nov 18, 2025
1c44fbf
Gradle: gitlab-release plugin 1.0.13
Alexei-Osipov-EPAM Nov 19, 2025
b576fe4
Gradle: gitlab-release plugin 1.1.0
Alexei-Osipov-EPAM Nov 19, 2025
71bd810
QuantServer#1408 Avoid ByteQueue state corruption if allocation fails
Alexei-Osipov-EPAM Nov 25, 2025
bd94098
Avoid catching Throwable. Rethrow errors.
Alexei-Osipov-EPAM Nov 27, 2025
4a78dd8
Merge branch 'fix-catch-throwable' into 'integration-5.6'
alex-karpovich Nov 27, 2025
fdfd952
Fix MemoryDataInput throwing AssertionError
Alexei-Osipov-EPAM Nov 27, 2025
4b7c61e
Merge branch 'fix-mdi-exception-type' into 'integration-5.6'
alex-karpovich Nov 28, 2025
873c69a
Restore detailed assertion
Alexei-Osipov-EPAM Nov 28, 2025
185589f
change namespaces
IvanNoyvik Dec 12, 2025
94d1a9a
add license header
IvanNoyvik Dec 12, 2025
5326f17
merge odl changes
IvanNoyvik Dec 12, 2025
c763767
add messages
IvanNoyvik Dec 12, 2025
aae6141
Merge branch 'integration-5.6' into ceBaseHistory-NS-5.6
IvanNoyvik Dec 12, 2025
8f0e8e4
resolve conflicts
IvanNoyvik Dec 12, 2025
5348c73
Merge remote-tracking branch 'origin/ceBaseHistory-NS-5.6' into ceBase
IvanNoyvik Dec 15, 2025
5546ea1
cleanup diffs
IvanNoyvik Dec 15, 2025
dd98526
add antlr lib
IvanNoyvik Dec 15, 2025
1f25811
Merge remote-tracking branch 'origin/ceBaseHistory-NS-5.6' into ceBase
IvanNoyvik Dec 15, 2025
955ca4b
fix path
IvanNoyvik Dec 15, 2025
6d7f151
Merge remote-tracking branch 'origin/ceBaseHistory-NS-5.6' into ceBase
IvanNoyvik Dec 15, 2025
96d67a5
resolve conflicts
IvanNoyvik Dec 15, 2025
83ec9f0
build workflows update
IvanNoyvik Jan 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,7 @@ jobs:
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
path: build/reports/tests/test
name: Test Report
name: test-report-${{ matrix.os }}-${{ matrix.java }}
path: |
**/build/reports/tests/test/**
**/build/test-results/test/*.xml
30 changes: 29 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ ext.leafProjects = leafProjects // Publish as external variable
ext {
sonaUser = findProperty('SONATYPE_NEXUS_USERNAME') ?: System.getenv('SONATYPE_NEXUS_USERNAME') ?: "FakeUser"
sonaPass = findProperty('SONATYPE_NEXUS_PASSWORD') ?: System.getenv('SONATYPE_NEXUS_PASSWORD') ?: "FakePass"

testTags = null // Default test tags
}

// Default test categories
Expand Down Expand Up @@ -69,6 +71,9 @@ configure(leafProjects) {
// Defines versions of dependencies to be used by subprojects
// https://github.com/spring-gradle-plugins/dependency-management-plugin#dependency-management-dsl
dependencyManagement {
imports {
mavenBom 'org.junit:junit-bom:5.14.0'
}
dependencies {
dependency ('com.epam.deltix:thread-affinity:1.0.4')

Expand Down Expand Up @@ -97,6 +102,11 @@ configure(leafProjects) {
entry 'jmh-core'
entry 'jmh-generator-annprocess'
}

dependency 'org.jetbrains:annotations:24.1.0'

dependency "junit:junit:4.13.2"
dependency "org.mockito:mockito-core:5.15.2"
}
}

Expand All @@ -120,11 +130,29 @@ configure(leafProjects) {
compileOnly 'com.google.code.findbugs:jsr305'
compileOnly 'com.google.code.findbugs:annotations'

testImplementation 'junit:junit:4.12'
testCompileOnly 'junit:junit'

testImplementation "org.mockito:mockito-core"

testImplementation 'org.junit.jupiter:junit-jupiter-api'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
testRuntimeOnly 'org.junit.vintage:junit-vintage-engine'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'

spotbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.9.0'
}

test {
useJUnitPlatform {
if (testTags != null) {
setIncludeTags testTags.split(',') as Set
}
}

// sync logging to not mix up messages from different tests
jvmArgs '-Dgflog.sync=true', '-Dgflog.console.appender.wrap=true'/*, '--add-opens', 'java.base/sun.nio.ch=ALL-UNNAMED'*/
}

spotbugs {
toolVersion = "3.1.12"
effort = "max"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
* License for the specific language governing permissions and limitations under
* the License.
*/

package com.epam.deltix.util.collections;

import java.io.IOException;
Expand All @@ -26,8 +27,8 @@ public final class ByteQueue implements ByteContainer {
private int capacity;
private byte [] buffer;
private int size = 0;
private int head = 0;
private int tail = 0;
private int head = 0; // Where data gets consumed
private int tail = 0; // Where data gets added

public ByteQueue (int capacity) {
this.capacity = capacity;
Expand Down Expand Up @@ -55,36 +56,6 @@ public void offer (byte value) {
tail = 0;
}

// public void insert (byte [] src, int offset, int length) {
// if (capacity - size < length) {
// // increase buffer
// if (tail > head) {
// byte[] temp = new byte[capacity + length];
// System.arraycopy (buffer, head, temp, length + head, size);
// buffer = temp;
// } else {
// byte[] temp = new byte[capacity + length];
// System.arraycopy (buffer, 0, temp, 0, tail);
// System.arraycopy (buffer, head, temp, capacity - head + length, capacity - head);
// buffer = temp;
// }
// capacity += length;
// }
//
// if (head > length) {
// System.arraycopy (src, offset, buffer, head - length, length);
// head -= length;
// } else {
// int remains = length - head;
// System.arraycopy (src, offset, buffer, capacity - remains, remains);
// System.arraycopy (src, offset + remains, buffer, 0, head);
//
// head = capacity - remains;
// }
// size += length;
//
// }

public void offer (byte [] src, int offset, int length) {
assert size + length <= capacity :
"size: " + size + "; length: " + length + "; capacity: " + capacity;
Expand All @@ -93,16 +64,19 @@ public void offer (byte [] src, int offset, int length) {
int excess = end - capacity;

if (excess > 0) {
// Wrap over array end.
// Length of the first part.
int n = capacity - tail;

System.arraycopy (src, offset, buffer, tail, n);


// Length of the second part.
tail = length - n;

System.arraycopy (src, offset + n, buffer, 0, tail);
}
else {
System.arraycopy (src, offset, buffer, tail, length);
// Single chunk copy
System.arraycopy (src, offset, buffer, tail, length);
tail = excess == 0 ? 0 : end;
}

Expand Down Expand Up @@ -256,7 +230,7 @@ public void truncate(int length) {
assert length < size;
int newTail = tail - length;
if (newTail < 0)
newTail =+ capacity;
newTail += capacity;

size -= length;
tail = newTail;
Expand All @@ -267,13 +241,17 @@ public boolean setCapacity (int value) {
return false;

assert(value > capacity);
capacity = value;

byte[] previous = buffer;
buffer = new byte[capacity];
// Allocate new buffer before changing any other fields to avoid state corruption if allocation fails with OOM.
buffer = new byte[value];
capacity = value;

if (tail > head) {
// No wrap
System.arraycopy (previous, head, buffer, 0, size);
} else {
// Wrapped
System.arraycopy (previous, head, buffer, 0, previous.length - head);
System.arraycopy (previous, 0, buffer, previous.length - head, tail);
}
Expand All @@ -283,4 +261,4 @@ public boolean setCapacity (int value) {

return true;
}
}
}
193 changes: 193 additions & 0 deletions collections/src/main/templates/RingedList.vpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
/*
* Copyright 2021 EPAM Systems, Inc
*
* See the NOTICE file distributed with this work for additional information
* regarding copyright ownership. Licensed under the Apache License,
* Version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
#if( $name == "Object" )
#set( $type = "ObjectType" )
#end
package deltix.util.collections.generated;

import java.util.AbstractList;
import java.util.Arrays;

public class ${name}RingedList extends AbstractList<${name}> implements ${name}List {

private static final int MAX_ARRAY_LENGTH = Integer.MAX_VALUE - 8;

protected ${type}[] array;

private int first, size;

public ${name}RingedList() {
this(0x10);
}

public ${name}RingedList(int capacity) {
if (capacity < 0) {
throw new IllegalArgumentException("Initial capacity (" + capacity + ") is negative");
}

array = new ${type}[capacity];
first = size = 0;
}

@Override
public int size() {
return size;
}

@Override
public ${name} get(int index) {
return get${name}(index);
}

@Override
public ${type} get${name}(int index) {
if (index > size) {
throw new IndexOutOfBoundsException();
}

return get${name}NoRangeCheck(index);
}

@Override
public ${type} get${name}NoRangeCheck(int index) {
index += first;
index = index >= array.length ? index - array.length : index;
return array[index];
}

@Override
public boolean add(${type} x) {
ensureFreeSpace(1);

int index = first + size++;
index = index >= array.length ? index - array.length : index;
array[index] = x;
return true;
}

public void set(int index, ${type} element) {
if (index > size) {
throw new IndexOutOfBoundsException();
}

index += first;
index = index >= array.length ? index - array.length : index;
array[index] = element;
}

public ${type} first() {
return array[first];
}

public ${type} last() {
return get(size - 1);
}

public ${type} pop() {
${type} res = array[first++];
first = first >= array.length ? first - array.length : first;
--size;

return res;
}

@Override
public boolean contains(${type} elem) {
return indexOf(elem) >= 0;
}

@Override
public int indexOf(${type} elem) {
throw new UnsupportedOperationException();
}

@Override
public int lastIndexOf(${type} elem) {
throw new UnsupportedOperationException();
}

@Override
public ${type}[] to${name_abbr}Array() {
${type}[] result = new ${type}[size];
toArray(result, 0);
return result;
}

public void toArray(${type}[] data, int offset) {
if (size > data.length - offset) {
throw new IllegalArgumentException();
}

for (int i = 0, j = first; i < size; ++i) {
data[i] = array[j++];
j = j == array.length ? 0 : j;
}
}

private void ensureFreeSpace(int required) {
long requiredCapacity = (long) size + required;
ensureCapacity(requiredCapacity);
}

public void ensureCapacity(long minCapacity) {
if (minCapacity > array.length) {
extend(minCapacity);
}
}

private void extend(long requiredCapacity) {
if (requiredCapacity > MAX_ARRAY_LENGTH) {
throw new OutOfMemoryError("required capacity=" + requiredCapacity + " exceeds max");
}

int newCapacity = (int) Math.min(MAX_ARRAY_LENGTH, requiredCapacity + (requiredCapacity >>> 1)); // 50% for growth

${type}[] newArray = new ${type}[newCapacity];

System.arraycopy(array, first, newArray, 0, array.length - first);
if (first > 0) {
System.arraycopy(array, 0, newArray, array.length - first, first);
}
first = 0;
array = newArray;
}

@Override
public void clear() {
first = size= 0;
}

@Override
public void setSize(int newSize) {
ensureCapacity(newSize);
size = newSize;
}

#if ($type != "boolean")
@Override
public void sort() {
array = to${name_abbr}Array();
first = 0;
Arrays.sort(array, 0, size);
}
#end

}

#if( $name == "Object")
#set( $type = "Object" )
#end
Expand Down
Loading
Loading