@@ -921,7 +921,7 @@ func TestMemStoreSkipMsgs(t *testing.T) {
921
921
func TestMemStoreMultiLastSeqs (t * testing.T ) {
922
922
cfg := & StreamConfig {
923
923
Name : "zzz" ,
924
- Subjects : []string {"foo.*" },
924
+ Subjects : []string {"foo.*" , "bar.*" },
925
925
Storage : MemoryStorage ,
926
926
}
927
927
ms , err := newMemStore (cfg )
@@ -1259,162 +1259,6 @@ func TestMemStoreSubjectDeleteMarkers(t *testing.T) {
1259
1259
require_Equal (t , bytesToString (getHeader (JSMessageTTL , im .hdr )), "1s" )
1260
1260
}
1261
1261
1262
- func TestMemStoreSubjectDeleteMarkersOnPurge (t * testing.T ) {
1263
- t .SkipNow ()
1264
-
1265
- ms , err := newMemStore (
1266
- & StreamConfig {
1267
- Name : "zzz" , Subjects : []string {"test.*" }, Storage : MemoryStorage ,
1268
- MaxAge : time .Second , AllowMsgTTL : true ,
1269
- SubjectDeleteMarkerTTL : time .Second ,
1270
- },
1271
- )
1272
- require_NoError (t , err )
1273
- defer ms .Stop ()
1274
-
1275
- for i := 0 ; i < 10 ; i ++ {
1276
- _ , _ , err := ms .StoreMsg (fmt .Sprintf ("test.%d" , i ), nil , nil , 0 )
1277
- require_NoError (t , err )
1278
- }
1279
-
1280
- _ , err = ms .Purge ()
1281
- require_NoError (t , err )
1282
-
1283
- for i := uint64 (0 ); i < 10 ; i ++ {
1284
- sm , err := ms .LoadMsg (11 + i , nil )
1285
- require_NoError (t , err )
1286
- require_Equal (t , sm .subj , fmt .Sprintf ("test.%d" , i ))
1287
- require_Equal (t , bytesToString (getHeader (JSMarkerReason , sm .hdr )), JSMarkerReasonPurge )
1288
- require_Equal (t , bytesToString (getHeader (JSMessageTTL , sm .hdr )), "1s" )
1289
- }
1290
- }
1291
-
1292
- func TestMemStoreSubjectDeleteMarkersOnPurgeEx (t * testing.T ) {
1293
- t .SkipNow ()
1294
-
1295
- ms , err := newMemStore (
1296
- & StreamConfig {
1297
- Name : "zzz" , Subjects : []string {"test.*" }, Storage : MemoryStorage ,
1298
- MaxAge : time .Second , AllowMsgTTL : true ,
1299
- SubjectDeleteMarkerTTL : time .Second ,
1300
- },
1301
- )
1302
- require_NoError (t , err )
1303
- defer ms .Stop ()
1304
-
1305
- for i := 0 ; i < 10 ; i ++ {
1306
- _ , _ , err := ms .StoreMsg (fmt .Sprintf ("test.%d" , i ), nil , nil , 0 )
1307
- require_NoError (t , err )
1308
- }
1309
-
1310
- _ , err = ms .PurgeEx ("test.*" , 1 , 0 )
1311
- require_NoError (t , err )
1312
-
1313
- for i := uint64 (0 ); i < 10 ; i ++ {
1314
- sm , err := ms .LoadMsg (11 + i , nil )
1315
- require_NoError (t , err )
1316
- require_Equal (t , sm .subj , fmt .Sprintf ("test.%d" , i ))
1317
- require_Equal (t , bytesToString (getHeader (JSMarkerReason , sm .hdr )), JSMarkerReasonPurge )
1318
- require_Equal (t , bytesToString (getHeader (JSMessageTTL , sm .hdr )), "1s" )
1319
- }
1320
- }
1321
-
1322
- func TestMemStoreSubjectDeleteMarkersOnPurgeExNoMarkers (t * testing.T ) {
1323
- t .SkipNow ()
1324
-
1325
- ms , err := newMemStore (
1326
- & StreamConfig {
1327
- Name : "zzz" , Subjects : []string {"test.*" }, Storage : MemoryStorage ,
1328
- MaxAge : time .Second , AllowMsgTTL : true ,
1329
- SubjectDeleteMarkerTTL : time .Second ,
1330
- },
1331
- )
1332
- require_NoError (t , err )
1333
- defer ms .Stop ()
1334
-
1335
- for i := 0 ; i < 10 ; i ++ {
1336
- _ , _ , err := ms .StoreMsg (fmt .Sprintf ("test.%d" , i ), nil , nil , 0 )
1337
- require_NoError (t , err )
1338
- }
1339
-
1340
- _ , err = ms .PurgeEx ("test.*" , 1 , 0 )
1341
- require_NoError (t , err )
1342
-
1343
- for i := uint64 (0 ); i < 10 ; i ++ {
1344
- _ , err := ms .LoadMsg (11 + i , nil )
1345
- require_Error (t , err )
1346
- }
1347
- }
1348
-
1349
- func TestMemStoreSubjectDeleteMarkersOnCompact (t * testing.T ) {
1350
- t .SkipNow ()
1351
-
1352
- ms , err := newMemStore (
1353
- & StreamConfig {
1354
- Name : "zzz" , Subjects : []string {"test.*" }, Storage : MemoryStorage ,
1355
- MaxAge : time .Second , AllowMsgTTL : true ,
1356
- SubjectDeleteMarkerTTL : time .Second ,
1357
- },
1358
- )
1359
- require_NoError (t , err )
1360
- defer ms .Stop ()
1361
-
1362
- for i := 0 ; i < 10 ; i ++ {
1363
- _ , _ , err := ms .StoreMsg (fmt .Sprintf ("test.%d" , i ), nil , nil , 0 )
1364
- require_NoError (t , err )
1365
- }
1366
-
1367
- _ , err = ms .Compact (6 )
1368
- require_NoError (t , err )
1369
-
1370
- for i := uint64 (6 ); i <= 15 ; i ++ {
1371
- sm , err := ms .LoadMsg (i , nil )
1372
- require_NoError (t , err )
1373
- if i <= 10 {
1374
- require_Equal (t , sm .subj , fmt .Sprintf ("test.%d" , i - 1 ))
1375
- require_Equal (t , bytesToString (getHeader (JSMarkerReason , sm .hdr )), _EMPTY_ )
1376
- require_Equal (t , bytesToString (getHeader (JSMessageTTL , sm .hdr )), _EMPTY_ )
1377
- } else {
1378
- require_Equal (t , sm .subj , fmt .Sprintf ("test.%d" , 15 - i ))
1379
- require_Equal (t , bytesToString (getHeader (JSMarkerReason , sm .hdr )), JSMarkerReasonPurge )
1380
- require_Equal (t , bytesToString (getHeader (JSMessageTTL , sm .hdr )), "1s" )
1381
- }
1382
- }
1383
- }
1384
-
1385
- func TestMemStoreSubjectDeleteMarkersOnRemoveMsg (t * testing.T ) {
1386
- t .SkipNow ()
1387
-
1388
- ms , err := newMemStore (
1389
- & StreamConfig {
1390
- Name : "zzz" , Subjects : []string {"test" }, Storage : MemoryStorage ,
1391
- MaxAge : time .Second , AllowMsgTTL : true ,
1392
- SubjectDeleteMarkerTTL : time .Second ,
1393
- },
1394
- )
1395
- require_NoError (t , err )
1396
- defer ms .Stop ()
1397
-
1398
- _ , _ , err = ms .StoreMsg ("test" , nil , nil , 0 )
1399
- require_NoError (t , err )
1400
-
1401
- _ , err = ms .RemoveMsg (1 )
1402
- require_NoError (t , err )
1403
-
1404
- sm , err := ms .LoadMsg (2 , nil )
1405
- require_NoError (t , err )
1406
- require_Equal (t , sm .subj , "test" )
1407
- require_Equal (t , bytesToString (getHeader (JSMarkerReason , sm .hdr )), JSMarkerReasonRemove )
1408
- require_Equal (t , bytesToString (getHeader (JSMessageTTL , sm .hdr )), "1s" )
1409
-
1410
- _ , err = ms .RemoveMsg (2 )
1411
- require_NoError (t , err )
1412
-
1413
- // The deleted subject marker at seq 2 should not have been replaced.
1414
- _ , err = ms .LoadMsg (3 , nil )
1415
- require_Error (t , err )
1416
- }
1417
-
1418
1262
func TestMemStoreAllLastSeqs (t * testing.T ) {
1419
1263
cfg := & StreamConfig {
1420
1264
Name : "zzz" ,
0 commit comments