Skip to content

Commit 63d45cb

Browse files
committed
fix redis trans bug
1 parent 726e1a5 commit 63d45cb

3 files changed

Lines changed: 21 additions & 23 deletions

File tree

examples/redis/redis-stream-example.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -383,15 +383,15 @@ def safe_add_message(stream_name, fields, max_retries=3):
383383
def example_batch_operations():
384384
"""Batch operations for better performance"""
385385
print("\n=== Batch Operations Example ===")
386-
stream_name = "batch200-stream"
386+
stream_name = "batch300-stream"
387387

388388
# Clear existing data
389389
clear_stream(stream_name)
390390

391391
# 1. Batch add using pipeline
392392
print("Batch adding 100 messages using pipeline...")
393393
pipeline = r.pipeline(transaction=True)
394-
for i in range(100):
394+
for i in range(10):
395395
pipeline.xadd(stream_name, {
396396
'index': str(i),
397397
'data': f'Batch data {i}',
@@ -450,7 +450,7 @@ def main():
450450
#example_pagination()
451451
#example_reverse_reading()
452452
#example_stream_monitoring()
453-
example_error_handling()
453+
#example_error_handling()
454454
example_batch_operations()
455455

456456
print("\n" + "=" * 60)

modules/core/src/main/java/org/apache/ignite/internal/processors/rest/protocols/tcp/redis/GridRedisNioListener.java

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -259,35 +259,33 @@ else if(x){
259259
ctx.grid().getOrCreateCache(ccfg);
260260
}
261261
//end@
262-
263-
// 开始事务,事务往往和pipeline同时开启
264-
List<GridRedisMessage> queued = ses.meta(SESS_TX_QUEUED_META_KEY);
265-
if(queued!=null && !cmd.equals("MULTI") && !cmd.equals("EXEC") && !cmd.equals("DISCARD")) {
266-
queued.add(msg);
267-
msg.setResponse(GridRedisProtocolParser.toSimpleString("QUEUED"));
268-
sendResponse(ses, msg);
269-
270-
}
271-
else {
272-
if(redisCmd==GridRedisCommand.INFO) {
273-
updateStateInfo(ses);
274-
}
275-
// modify@byron use StripedExecutorService handle session awared handler
276-
ctx.pools().getStripedRebalanceExecutorService().execute(()->{
262+
263+
if(redisCmd==GridRedisCommand.INFO) {
264+
updateStateInfo(ses);
265+
}
266+
// modify@byron use StripedExecutorService handle session awared handler
267+
ctx.pools().getStripedRebalanceExecutorService().execute(()->{
268+
// 开始事务,事务往往和pipeline同时开启
269+
List<GridRedisMessage> queued = ses.meta(SESS_TX_QUEUED_META_KEY);
270+
if(queued!=null && !cmd.equals("MULTI") && !cmd.equals("EXEC") && !cmd.equals("DISCARD")) {
271+
queued.add(msg);
272+
msg.setResponse(GridRedisProtocolParser.toSimpleString("QUEUED"));
273+
sendResponse(ses, msg);
274+
}
275+
else {
277276

278277
IgniteInternalFuture<GridRedisMessage> f = handlers.get(redisCmd).handleAsync(ses, msg);
279278
try {
280279
GridRedisMessage res = f.get();
281280
sendResponse(ses, res);
282281
} catch (IgniteCheckedException e) {
283-
log.error("Redis msg handler fail.",e);
282+
log.error("Redis msg handler fail.", e);
284283
msg.setResponse(GridRedisProtocolParser.toGenericError(e.getMessage()));
285284
sendResponse(ses, msg);
286285
}
286+
}
287287

288-
},ses.hashCode());
289-
290-
}
288+
},ses.hashCode());
291289
}
292290
}
293291

modules/vertx-rest/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridStaticRestHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ public void handle(String target, RoutingContext rc, HttpServerRequest srvReq, H
218218
}
219219

220220
res.setStatusCode(200);
221-
res.putHeader("Content-Type", "image/svg");
221+
res.putHeader("Content-Type", "image/svg+xml");
222222
res.putHeader("Content-Length", String.valueOf(logo.length));
223223
res.write(Buffer.buffer(logo));
224224
rc.end();

0 commit comments

Comments
 (0)