Skip to content

Commit 2f4033c

Browse files
authored
Merge pull request #70 from reembs/upgrade-dependencies
Upgrade dependencies
2 parents fe90c96 + a712c96 commit 2f4033c

32 files changed

Lines changed: 1110 additions & 754 deletions

pom.xml

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
</developers>
3838

3939
<properties>
40-
<kotlin.version>1.5.31</kotlin.version>
40+
<kotlin.version>2.3.10</kotlin.version>
4141
<storm.version>1.2.2</storm.version>
4242
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
4343
<main.class>org.xyro.kumulus.MainKt</main.class>
@@ -50,11 +50,6 @@
5050
<version>${kotlin.version}</version>
5151
<scope>provided</scope>
5252
</dependency>
53-
<dependency>
54-
<groupId>org.jetbrains.kotlin</groupId>
55-
<artifactId>kotlin-stdlib-common</artifactId>
56-
<version>${kotlin.version}</version>
57-
</dependency>
5853
<dependency>
5954
<groupId>org.jetbrains.kotlin</groupId>
6055
<artifactId>kotlin-reflect</artifactId>
@@ -68,15 +63,15 @@
6863
<scope>compile</scope>
6964
</dependency>
7065
<dependency>
71-
<groupId>io.github.microutils</groupId>
72-
<artifactId>kotlin-logging</artifactId>
73-
<version>1.4.6</version>
66+
<groupId>io.github.oshai</groupId>
67+
<artifactId>kotlin-logging-jvm</artifactId>
68+
<version>7.0.3</version>
7469
</dependency>
7570
<!-- tests -->
7671
<dependency>
7772
<groupId>org.junit.jupiter</groupId>
7873
<artifactId>junit-jupiter-api</artifactId>
79-
<version>5.7.0</version>
74+
<version>6.0.2</version>
8075
<scope>test</scope>
8176
</dependency>
8277
<dependency>
@@ -88,7 +83,7 @@
8883
<dependency>
8984
<groupId>org.hdrhistogram</groupId>
9085
<artifactId>HdrHistogram</artifactId>
91-
<version>2.1.9</version>
86+
<version>2.2.2</version>
9287
<scope>test</scope>
9388
</dependency>
9489
</dependencies>
@@ -132,7 +127,7 @@
132127
<plugin>
133128
<groupId>org.apache.maven.plugins</groupId>
134129
<artifactId>maven-compiler-plugin</artifactId>
135-
<version>3.7.0</version>
130+
<version>3.15.0</version>
136131
<executions>
137132
<!-- Replacing default-compile as it is treated specially by maven -->
138133
<execution>
@@ -163,7 +158,7 @@
163158
<plugin>
164159
<groupId>org.apache.maven.plugins</groupId>
165160
<artifactId>maven-jar-plugin</artifactId>
166-
<version>3.1.0</version>
161+
<version>3.5.0</version>
167162
<configuration>
168163
<archive>
169164
<manifest>
@@ -176,7 +171,7 @@
176171
<plugin>
177172
<groupId>org.apache.maven.plugins</groupId>
178173
<artifactId>maven-source-plugin</artifactId>
179-
<version>2.2.1</version>
174+
<version>3.4.0</version>
180175
<executions>
181176
<execution>
182177
<id>attach-sources</id>
@@ -189,7 +184,7 @@
189184
<plugin>
190185
<groupId>org.jetbrains.dokka</groupId>
191186
<artifactId>dokka-maven-plugin</artifactId>
192-
<version>2.0.0</version>
187+
<version>2.1.0</version>
193188
<executions>
194189
<execution>
195190
<phase>pre-site</phase>
@@ -202,7 +197,7 @@
202197
<plugin>
203198
<groupId>org.apache.maven.plugins</groupId>
204199
<artifactId>maven-gpg-plugin</artifactId>
205-
<version>1.5</version>
200+
<version>3.2.8</version>
206201
<executions>
207202
<execution>
208203
<id>sign-artifacts</id>
@@ -219,7 +214,7 @@
219214
<plugin>
220215
<groupId>com.github.gantsign.maven</groupId>
221216
<artifactId>ktlint-maven-plugin</artifactId>
222-
<version>1.7.0</version>
217+
<version>3.5.0</version>
223218
<executions>
224219
<execution>
225220
<goals>

src/main/kotlin/org/xyro/kumulus/ExecutionPool.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import java.util.concurrent.atomic.AtomicInteger
66

77
class ExecutionPool(
88
size: Int,
9-
private val threadFun: (KumulusMessage) -> Unit
9+
private val threadFun: (KumulusMessage) -> Unit,
1010
) {
1111
// uncapped, memory for in-flight tuples should be taken into account and factored into max-spout-pending
1212
private val mainQueue = LinkedBlockingQueue<KumulusMessage>()

src/main/kotlin/org/xyro/kumulus/KumulusAcker.kt

Lines changed: 55 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.xyro.kumulus
22

3-
import mu.KotlinLogging
3+
import io.github.oshai.kotlinlogging.KotlinLogging
44
import org.apache.storm.shade.org.eclipse.jetty.util.ConcurrentHashSet
55
import org.apache.storm.tuple.Tuple
66
import org.xyro.kumulus.component.KumulusComponent
@@ -16,7 +16,7 @@ class KumulusAcker(
1616
private val maxSpoutPending: Long,
1717
private val allowExtraAcking: Boolean,
1818
private val messageTimeoutMillis: Long,
19-
private val spoutAvailabilityCheckTimeout: Long
19+
private val spoutAvailabilityCheckTimeout: Long,
2020
) {
2121
companion object {
2222
private val logger = KotlinLogging.logger {}
@@ -34,7 +34,10 @@ class KumulusAcker(
3434
}
3535
}
3636

37-
fun startTree(component: KumulusSpout, messageId: Any?) {
37+
fun startTree(
38+
component: KumulusSpout,
39+
messageId: Any?,
40+
) {
3841
logger.debug { "startTree() -> component: $component, messageId: $messageId" }
3942
if (messageId == null) {
4043
notifySpout(component, messageId, listOf())
@@ -71,20 +74,25 @@ class KumulusAcker(
7174
messageState.spout,
7275
messageId,
7376
removedState.pendingTasks.map { it.key },
74-
removedState.failedTasks.toList()
77+
removedState.failedTasks.toList(),
7578
)
7679
decrementPending()
7780
}
7881
}
7982
},
80-
messageTimeoutMillis, TimeUnit.MILLISECONDS
83+
messageTimeoutMillis,
84+
TimeUnit.MILLISECONDS,
8185
)
8286
}
8387
}
8488
}
8589
}
8690

87-
fun expandTrees(component: KumulusComponent, dest: Int, tuple: KumulusTuple) {
91+
fun expandTrees(
92+
component: KumulusComponent,
93+
dest: Int,
94+
tuple: KumulusTuple,
95+
) {
8896
logger.debug { "expandTrees() -> component: $component, dest: $dest, tuple: $tuple" }
8997
(tuple.kTuple as TupleImpl).spoutMessageId?.let { messageId ->
9098
if (allowExtraAcking && state[messageId] == null) {
@@ -97,7 +105,10 @@ class KumulusAcker(
97105
}
98106
}
99107

100-
fun fail(component: KumulusComponent, input: Tuple?) {
108+
fun fail(
109+
component: KumulusComponent,
110+
input: Tuple?,
111+
) {
101112
logger.debug { "fail() -> component: $component, input: $input" }
102113
(input as TupleImpl).spoutMessageId?.let { messageId ->
103114
val messageState = state[messageId]
@@ -112,15 +123,19 @@ class KumulusAcker(
112123
}
113124
}
114125

115-
fun ack(component: KumulusComponent, input: Tuple?) {
126+
fun ack(
127+
component: KumulusComponent,
128+
input: Tuple?,
129+
) {
116130
logger.debug { "ack() -> component: $component, input: $input" }
117131
(input as TupleImpl).spoutMessageId?.let { messageId ->
118132
val messageState = state[messageId]
119133
if (allowExtraAcking && state[messageId] == null) {
120134
return
121135
}
122-
if (messageState == null)
136+
if (messageState == null) {
123137
error("State missing for messageId $messageId while acking tuple in $component. Tuple: $input")
138+
}
124139
checkComplete(messageState, component, input)
125140
}
126141
}
@@ -144,11 +159,13 @@ class KumulusAcker(
144159
}
145160
}
146161

147-
fun getPendingCount(): Long {
148-
return this.currentPending.get()
149-
}
162+
fun getPendingCount(): Long = this.currentPending.get()
150163

151-
private fun checkComplete(messageState: MessageState, component: KumulusComponent, input: Tuple?) {
164+
private fun checkComplete(
165+
messageState: MessageState,
166+
component: KumulusComponent,
167+
input: Tuple?,
168+
) {
152169
(input as TupleImpl).spoutMessageId?.let { spoutMessageId ->
153170
val removedTask = messageState.pendingTasks.remove(component.taskId)
154171
if (removedTask == null) {
@@ -174,32 +191,41 @@ class KumulusAcker(
174191
}
175192
}
176193

177-
private fun debugMessage(component: KumulusComponent, spoutMessageId: Any, messageState: MessageState) {
194+
private fun debugMessage(
195+
component: KumulusComponent,
196+
spoutMessageId: Any,
197+
messageState: MessageState,
198+
) {
178199
logger.debug {
179200
"Pending task from $component for message $spoutMessageId was completed. " +
180-
"Current pending tuples are:" + messageState.pendingTasks.let {
181-
if (it.isEmpty()) {
182-
" Empty\n"
183-
} else {
184-
val sb = StringBuilder("\n")
185-
it.forEach { (k, v) ->
186-
sb.append("$k: $v\n")
201+
"Current pending tuples are:" +
202+
messageState.pendingTasks.let {
203+
if (it.isEmpty()) {
204+
" Empty\n"
205+
} else {
206+
val sb = StringBuilder("\n")
207+
it.forEach { (k, v) ->
208+
sb.append("$k: $v\n")
209+
}
210+
sb.toString()
187211
}
188-
sb.toString()
189212
}
190-
}
191213
}
192214
}
193215

194-
private fun notifySpout(spout: KumulusSpout, spoutMessageId: Any?, failedTasks: List<Int>) {
216+
private fun notifySpout(
217+
spout: KumulusSpout,
218+
spoutMessageId: Any?,
219+
failedTasks: List<Int>,
220+
) {
195221
this.notifySpout(spout, spoutMessageId, listOf(), failedTasks)
196222
}
197223

198224
private fun notifySpout(
199225
spout: KumulusSpout,
200226
spoutMessageId: Any?,
201227
timeoutTasks: List<Int>,
202-
failedTasks: List<Int>
228+
failedTasks: List<Int>,
203229
) {
204230
emitter.completeMessageProcessing(spout, spoutMessageId, timeoutTasks, failedTasks)
205231
}
@@ -209,7 +235,9 @@ class KumulusAcker(
209235
synchronized(waitObject) {
210236
val currentPending = currentPending.decrementAndGet()
211237
if (currentPending >= maxSpoutPending) {
212-
logger.error { "Max spout pending must have exceeded limit of $maxSpoutPending, current after decrement is $currentPending" }
238+
logger.error {
239+
"Max spout pending must have exceeded limit of $maxSpoutPending, current after decrement is $currentPending"
240+
}
213241
assert(false) {
214242
"Max spout pending must have exceeded limit of $maxSpoutPending, current after decrement is $currentPending"
215243
}
@@ -224,7 +252,7 @@ class KumulusAcker(
224252
}
225253

226254
inner class MessageState(
227-
val spout: KumulusSpout
255+
val spout: KumulusSpout,
228256
) {
229257
val pendingTasks = ConcurrentHashMap<Int, Tuple>()
230258
val failedTasks = ConcurrentHashSet<Int>()

src/main/kotlin/org/xyro/kumulus/KumulusEmitter.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,18 @@ import org.xyro.kumulus.component.KumulusSpout
55

66
interface KumulusEmitter {
77
fun getDestinations(tasks: List<Int>): List<KumulusComponent>
8-
fun execute(destComponent: KumulusComponent, kumulusTuple: KumulusTuple)
8+
9+
fun execute(
10+
destComponent: KumulusComponent,
11+
kumulusTuple: KumulusTuple,
12+
)
13+
914
fun completeMessageProcessing(
1015
spout: KumulusSpout,
1116
spoutMessageId: Any?,
1217
timeoutTasks: List<Int>,
13-
failedTasks: List<Int>
18+
failedTasks: List<Int>,
1419
)
20+
1521
fun throwException(t: Throwable)
1622
}

0 commit comments

Comments
 (0)