Преглед изворни кода

Merge pull request #104 from Abc-Arbitrage/Directory.CQLV2

Directory: Update Cassandra schema of `Peers` and `DynamicSubscriptions` tables
Olivier Coanet пре 3 година
родитељ
комит
a94562f589
48 измењених фајлова са 183 додато и 210 уклоњено
  1. 3 4
      src/Abc.Zebus.Directory.Cassandra.Tests/Cql/CqlPeerRepositoryPerformanceTests.cs
  2. 5 20
      src/Abc.Zebus.Directory.Cassandra.Tests/Cql/CqlPeerRepositoryTests.DynamicSubscriptions.cs
  3. 14 14
      src/Abc.Zebus.Directory.Cassandra.Tests/Cql/CqlPeerRepositoryTests.cs
  4. 8 10
      src/Abc.Zebus.Directory.Cassandra.Tests/Data/CassandraExtensionsTests.cs
  5. 24 28
      src/Abc.Zebus.Directory.Cassandra/Cql/CqlPeerRepository.cs
  6. 3 2
      src/Abc.Zebus.Directory.Cassandra/Cql/DirectoryDataContext.cs
  7. 32 28
      src/Abc.Zebus.Directory.Cassandra/Data/CassandraExtensions.cs
  8. 5 8
      src/Abc.Zebus.Directory.Cassandra/Data/CassandraPeer.cs
  9. 17 0
      src/Abc.Zebus.Directory.Cassandra/Data/CassandraSubscription.cs
  10. 0 22
      src/Abc.Zebus.Directory.Cassandra/Storage/StorageSubscription.cs
  11. 6 8
      src/Abc.Zebus.Directory.Cassandra/schema_creation.cql
  12. 2 2
      src/Abc.Zebus.Persistence.Cassandra.Testing/Abc.Zebus.Persistence.Cassandra.Testing.csproj
  13. 3 3
      src/Abc.Zebus.Persistence.Cassandra.Testing/CassandraConfigurationMock.cs
  14. 0 0
      src/Abc.Zebus.Persistence.Cassandra.Testing/Properties/AssemblyInfo.cs
  15. 2 1
      src/Abc.Zebus.Persistence.Cassandra.Tests/Abc.Zebus.Persistence.Cassandra.Tests.csproj
  16. 1 1
      src/Abc.Zebus.Persistence.Cassandra.Tests/BucketIdHelperTests.cs
  17. 3 3
      src/Abc.Zebus.Persistence.Cassandra.Tests/Cql/CqlTestFixture.cs
  18. 4 4
      src/Abc.Zebus.Persistence.Cassandra.Tests/CqlMessageReaderTests.cs
  19. 4 4
      src/Abc.Zebus.Persistence.Cassandra.Tests/CqlStorageTests.cs
  20. 1 1
      src/Abc.Zebus.Persistence.Cassandra.Tests/MessageIdV2.cs
  21. 5 5
      src/Abc.Zebus.Persistence.Cassandra.Tests/OldestNonAckedMessageUpdaterPeriodicActionTests.cs
  22. 0 0
      src/Abc.Zebus.Persistence.Cassandra.Tests/Properties/AssemblyInfo.cs
  23. 1 1
      src/Abc.Zebus.Persistence.Cassandra/Abc.Zebus.Persistence.Cassandra.csproj
  24. 1 1
      src/Abc.Zebus.Persistence.Cassandra/Cql/CassandraCqlSessionManager.cs
  25. 1 1
      src/Abc.Zebus.Persistence.Cassandra/Cql/CqlDataContext.cs
  26. 2 2
      src/Abc.Zebus.Persistence.Cassandra/Cql/CqlMessageReader.cs
  27. 3 3
      src/Abc.Zebus.Persistence.Cassandra/Cql/CqlStorage.cs
  28. 2 2
      src/Abc.Zebus.Persistence.Cassandra/Cql/ICassandraConfiguration.cs
  29. 1 1
      src/Abc.Zebus.Persistence.Cassandra/Cql/ICqlStorage.cs
  30. 2 2
      src/Abc.Zebus.Persistence.Cassandra/Cql/PeerState.cs
  31. 2 2
      src/Abc.Zebus.Persistence.Cassandra/Cql/PeerStateRepository.cs
  32. 2 2
      src/Abc.Zebus.Persistence.Cassandra/Data/CassandraPeerState.cs
  33. 3 3
      src/Abc.Zebus.Persistence.Cassandra/Data/PersistenceCqlDataContext.cs
  34. 1 1
      src/Abc.Zebus.Persistence.Cassandra/Data/PersistentMessage.cs
  35. 2 2
      src/Abc.Zebus.Persistence.Cassandra/ICqlPersistenceConfiguration.cs
  36. 2 2
      src/Abc.Zebus.Persistence.Cassandra/PeriodicAction/OldestNonAckedMessageUpdaterPeriodicAction.cs
  37. 2 2
      src/Abc.Zebus.Persistence.Cassandra/Properties/AssemblyInfo.cs
  38. 1 1
      src/Abc.Zebus.Persistence.Cassandra/Util/MessageIdExtensions.cs
  39. 0 0
      src/Abc.Zebus.Persistence.Cassandra/schema/1.0/01_Create_PersistentMessage.cql
  40. 0 0
      src/Abc.Zebus.Persistence.Cassandra/schema/1.0/02_Create_PeerState.cql
  41. 0 0
      src/Abc.Zebus.Persistence.Cassandra/schema/1.1/01_Create_PersistentMessage.cql
  42. 1 1
      src/Abc.Zebus.Persistence.Runner/Abc.Zebus.Persistence.Runner.csproj
  43. 1 1
      src/Abc.Zebus.Persistence.Runner/CassandraAppSettingsConfiguration.cs
  44. 3 4
      src/Abc.Zebus.Persistence.Runner/Program.cs
  45. 2 2
      src/Abc.Zebus.Persistence/Properties/AssemblyInfo.cs
  46. 1 1
      src/Abc.Zebus.Testing/Properties/AssemblyInfo.cs
  47. 3 3
      src/Abc.Zebus.sln
  48. 2 2
      src/Abc.Zebus/Properties/AssemblyInfo.cs

+ 3 - 4
src/Abc.Zebus.Directory.Cassandra.Tests/Storage/CqlPeerRepositoryPerformanceTests.cs → src/Abc.Zebus.Directory.Cassandra.Tests/Cql/CqlPeerRepositoryPerformanceTests.cs

@@ -4,14 +4,13 @@ using System.Diagnostics;
 using System.Linq;
 using Abc.Zebus.Directory.Cassandra.Cql;
 using Abc.Zebus.Directory.Cassandra.Storage;
-using Abc.Zebus.Directory.Cassandra.Tests.Cql;
 using Abc.Zebus.Routing;
 using Abc.Zebus.Testing.Extensions;
 using Abc.Zebus.Testing.Measurements;
 using Cassandra;
 using NUnit.Framework;
 
-namespace Abc.Zebus.Directory.Cassandra.Tests.Storage
+namespace Abc.Zebus.Directory.Cassandra.Tests.Cql
 {
     [TestFixture]
     [Ignore("Performance tests")]
@@ -27,7 +26,7 @@ namespace Abc.Zebus.Directory.Cassandra.Tests.Storage
             const int numberOfPeersToInsert = 30;
             var repo = new CqlPeerRepository(DataContext);
             var subscriptionForTypes = Get10MessageTypesWith800BindingKeysEach();
-            
+
             for (var i = 0; i < numberOfPeersToInsert; i++)
             {
                 var stopwatch = Stopwatch.StartNew();
@@ -50,7 +49,7 @@ namespace Abc.Zebus.Directory.Cassandra.Tests.Storage
             Diagnostics.CassandraTraceSwitch.Level = TraceLevel.Info;
             var repo = new CqlPeerRepository(DataContext);
             var subscriptionForTypes = Get1MessageTypesWith100000BindingKeys();
-            
+
 
             var stopwatch = Stopwatch.StartNew();
             repo.AddOrUpdatePeer(new PeerDescriptor(new PeerId("Abc.Peer.0"), "tcp://toto:123", true, true, true, DateTime.UtcNow));

+ 5 - 20
src/Abc.Zebus.Directory.Cassandra.Tests/Storage/CqlPeerRepositoryTests.DynamicSubscriptions.cs → src/Abc.Zebus.Directory.Cassandra.Tests/Cql/CqlPeerRepositoryTests.DynamicSubscriptions.cs

@@ -1,4 +1,5 @@
-using System.Linq;
+using System;
+using System.Linq;
 using Abc.Zebus.Directory.Tests;
 using Abc.Zebus.Routing;
 using Abc.Zebus.Testing;
@@ -7,9 +8,8 @@ using Abc.Zebus.Util;
 using Cassandra;
 using Cassandra.Data.Linq;
 using NUnit.Framework;
-using System;
 
-namespace Abc.Zebus.Directory.Cassandra.Tests.Storage
+namespace Abc.Zebus.Directory.Cassandra.Tests.Cql
 {
     public partial class CqlPeerRepositoryTests
     {
@@ -39,22 +39,6 @@ namespace Abc.Zebus.Directory.Cassandra.Tests.Storage
             return new SubscriptionsForType(MessageUtil.GetTypeId(typeof(TMessage)), bindings.Any() ? bindings : new[] { BindingKey.Empty });
         }
 
-        [Test]
-        public void should_not_crash_when_passing_null_subscriptions_array_to_AddDynamicSubscriptions()
-        {
-            var peerDescriptor = _peer1.ToPeerDescriptorWithRoundedTime(true, typeof(FakeCommand));
-
-            Assert.DoesNotThrow(() => _repository.AddDynamicSubscriptionsForTypes(peerDescriptor.PeerId, peerDescriptor.TimestampUtc.Value, null));
-        }
-
-        [Test]
-        public void should_not_crash_when_passing_null_subscriptions_array_to_RemoveDynamicSubscriptions()
-        {
-            var peerDescriptor = _peer1.ToPeerDescriptorWithRoundedTime(true, typeof(FakeCommand));
-
-            Assert.DoesNotThrow(() => _repository.RemoveDynamicSubscriptionsForTypes(peerDescriptor.PeerId, peerDescriptor.TimestampUtc.Value, null));
-        }
-
         [Test]
         public void should_remove_dynamic_subscriptions()
         {
@@ -78,9 +62,10 @@ namespace Abc.Zebus.Directory.Cassandra.Tests.Storage
 			_repository.RemovePeer(peerDescriptor.PeerId);
 
             _repository.Get(peerDescriptor.PeerId).ShouldBeNull();
+
             var retrievedSubscriptions = DataContext.DynamicSubscriptions
                                                     .SetConsistencyLevel(ConsistencyLevel.LocalQuorum)
-                                                    .Where(sub => sub.UselessKey == false && sub.PeerId == peerDescriptor.PeerId.ToString())
+                                                    .Where(s => s.PeerId == peerDescriptor.PeerId.ToString())
                                                     .Execute();
 			retrievedSubscriptions.ShouldBeEmpty();
         }

+ 14 - 14
src/Abc.Zebus.Directory.Cassandra.Tests/Storage/CqlPeerRepositoryTests.cs → src/Abc.Zebus.Directory.Cassandra.Tests/Cql/CqlPeerRepositoryTests.cs

@@ -1,6 +1,9 @@
-using Abc.Zebus.Directory.Cassandra.Cql;
+using System;
+using System.Linq;
+using System.Threading;
+using Abc.Zebus.Directory.Cassandra.Cql;
+using Abc.Zebus.Directory.Cassandra.Data;
 using Abc.Zebus.Directory.Cassandra.Storage;
-using Abc.Zebus.Directory.Cassandra.Tests.Cql;
 using Abc.Zebus.Directory.Tests;
 using Abc.Zebus.Testing;
 using Abc.Zebus.Testing.Extensions;
@@ -8,11 +11,8 @@ using Abc.Zebus.Util;
 using Cassandra;
 using Cassandra.Data.Linq;
 using NUnit.Framework;
-using System;
-using System.Linq;
-using System.Threading;
 
-namespace Abc.Zebus.Directory.Cassandra.Tests.Storage
+namespace Abc.Zebus.Directory.Cassandra.Tests.Cql
 {
     [TestFixture]
     public partial class CqlPeerRepositoryTests : CqlTestFixture<DirectoryDataContext, ICassandraConfiguration>
@@ -159,11 +159,6 @@ namespace Abc.Zebus.Directory.Cassandra.Tests.Storage
             fetched.ShouldNotBeNull();
         }
 
-        private static DateTime GetUnspecifiedKindUtcNow()
-        {
-            return new DateTime(SystemDateTime.UtcNow.RoundToMillisecond().Ticks, DateTimeKind.Unspecified);
-        }
-
         [Test]
         public void should_insert_a_peer_with_no_timestamp_that_was_previously_deleted()
         {
@@ -206,10 +201,10 @@ namespace Abc.Zebus.Directory.Cassandra.Tests.Storage
             descriptor.TimestampUtc = DateTime.UtcNow;
             _repository.AddOrUpdatePeer(descriptor);
 
-            DataContext.StoragePeers
+            DataContext.Peers
                         .SetConsistencyLevel(ConsistencyLevel.LocalQuorum)
-                        .Where(peer => peer.UselessKey == false && peer.PeerId == "Abc.DecommissionnedPeer.0")
-                        .Select(peer => new StoragePeer { StaticSubscriptionsBytes  = null, IsResponding = false, IsPersistent = false, HasDebuggerAttached = false, IsUp = false })
+                        .Where(peer => peer.PeerId == "Abc.DecommissionedPeer.0")
+                        .Select(peer => new CassandraPeer { StaticSubscriptionsBytes  = null, IsResponding = false, IsPersistent = false, HasDebuggerAttached = false, IsUp = false })
                         .Update()
                         .SetTimestamp(DateTime.UtcNow)
                         .Execute();
@@ -217,5 +212,10 @@ namespace Abc.Zebus.Directory.Cassandra.Tests.Storage
             _repository.Get(_peer1.Id).Peer.IsResponding.ShouldBeTrue();
             _repository.GetPeers().ExpectedSingle().PeerId.ShouldEqual(_peer1.Id);
         }
+
+        private static DateTime GetUnspecifiedKindUtcNow()
+        {
+            return new DateTime(SystemDateTime.UtcNow.RoundToMillisecond().Ticks, DateTimeKind.Unspecified);
+        }
     }
 }

+ 8 - 10
src/Abc.Zebus.Directory.Cassandra.Tests/Storage/StorageConvertionExtensionsTests.cs → src/Abc.Zebus.Directory.Cassandra.Tests/Data/CassandraExtensionsTests.cs

@@ -1,11 +1,11 @@
 using System;
-using Abc.Zebus.Directory.Cassandra.Storage;
+using Abc.Zebus.Directory.Cassandra.Data;
 using Abc.Zebus.Testing.Extensions;
 using NUnit.Framework;
 
-namespace Abc.Zebus.Directory.Cassandra.Tests.Storage
+namespace Abc.Zebus.Directory.Cassandra.Tests.Data
 {
-    public class StorageConvertionExtensionsTests
+    public class CassandraExtensionsTests
     {
         [Test]
         public void should_return_a_storage_peer_with_its_timestamp_kind_set_to_utc()
@@ -13,20 +13,18 @@ namespace Abc.Zebus.Directory.Cassandra.Tests.Storage
             var unspecifiedKindUtcNow = new DateTime(DateTime.UtcNow.Ticks, DateTimeKind.Unspecified);
             var peerDescriptor = new PeerDescriptor(new PeerId("Abc.Titi.0"), "tcp://toto:123", false, true, true, unspecifiedKindUtcNow);
 
-            var storagePeer = peerDescriptor.ToStoragePeer();
-
-            storagePeer.TimestampUtc.Kind.ShouldEqual(DateTimeKind.Utc);
+            var peer = peerDescriptor.ToCassandra();
+            peer.TimestampUtc.Kind.ShouldEqual(DateTimeKind.Utc);
         }
 
         [Test]
         public void should_return_a_peer_descriptor_with_its_timestamp_kind_set_to_utc()
         {
             var unspecifiedKindUtcNow = new DateTime(DateTime.UtcNow.Ticks, DateTimeKind.Unspecified);
-            var storagePeer = new StoragePeer { TimestampUtc = unspecifiedKindUtcNow, StaticSubscriptionsBytes = new byte[0]};
-
-            var peerDescriptor = storagePeer.ToPeerDescriptor(new Subscription[0]);
+            var peer = new CassandraPeer { TimestampUtc = unspecifiedKindUtcNow, StaticSubscriptionsBytes = new byte[0]};
 
+            var peerDescriptor = peer.ToPeerDescriptor(new Subscription[0]);
             peerDescriptor.TimestampUtc.Value.Kind.ShouldEqual(DateTimeKind.Utc);
         }
     }
-}
+}

+ 24 - 28
src/Abc.Zebus.Directory.Cassandra/Storage/CqlPeerRepository.cs → src/Abc.Zebus.Directory.Cassandra/Cql/CqlPeerRepository.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using Abc.Zebus.Directory.Cassandra.Data;
 using Abc.Zebus.Directory.Storage;
 using Cassandra;
 using Cassandra.Data.Linq;
@@ -18,9 +19,9 @@ namespace Abc.Zebus.Directory.Cassandra.Storage
 
         public bool? IsPersistent(PeerId peerId)
         {
-            return _dataContext.StoragePeers
+            return _dataContext.Peers
                                .SetConsistencyLevel(ConsistencyLevel.LocalQuorum)
-                               .Where(peer => peer.UselessKey == false && peer.PeerId == peerId.ToString())
+                               .Where(peer => peer.PeerId == peerId.ToString())
                                .Select(x => (bool?)x.IsPersistent)
                                .Execute()
                                .FirstOrDefault();
@@ -30,13 +31,13 @@ namespace Abc.Zebus.Directory.Cassandra.Storage
         {
             var peerDynamicSubscriptions = _dataContext.DynamicSubscriptions
                                                        .SetConsistencyLevel(ConsistencyLevel.LocalQuorum)
-                                                       .Where(sub => sub.UselessKey == false && sub.PeerId == peerId.ToString())
+                                                       .Where(s => s.PeerId == peerId.ToString())
                                                        .Execute()
-                                                       .SelectMany(sub => sub.ToSubscriptionsForType().ToSubscriptions());
+                                                       .SelectMany(s => s.ToSubscriptionsForType().ToSubscriptions());
 
-            return _dataContext.StoragePeers
+            return _dataContext.Peers
                                .SetConsistencyLevel(ConsistencyLevel.LocalQuorum)
-                               .Where(peer => peer.UselessKey == false && peer.PeerId == peerId.ToString())
+                               .Where(peer => peer.PeerId == peerId.ToString())
                                .Execute()
                                .FirstOrDefault()
                                .ToPeerDescriptor(peerDynamicSubscriptions);
@@ -46,9 +47,8 @@ namespace Abc.Zebus.Directory.Cassandra.Storage
         {
             if (!loadDynamicSubscriptions)
             {
-                return _dataContext.StoragePeers
+                return _dataContext.Peers
                    .SetConsistencyLevel(ConsistencyLevel.LocalQuorum)
-                   .Where(peer => peer.UselessKey == false)
                    .Execute()
                    .Select(peer => peer.ToPeerDescriptor()!)
                    .ToList();
@@ -56,15 +56,13 @@ namespace Abc.Zebus.Directory.Cassandra.Storage
 
             var dynamicSubscriptionsByPeer = _dataContext.DynamicSubscriptions
                                                          .SetConsistencyLevel(ConsistencyLevel.LocalQuorum)
-                                                         .Where(sub => sub.UselessKey == false)
                                                          .Execute()
                                                          .SelectMany(sub => sub.ToSubscriptionsForType().ToSubscriptions().Select(s => new { sub.PeerId, Subscription = s }))
                                                          .ToLookup(peerSub => peerSub.PeerId, peerSub=> peerSub.Subscription);
 
 
-            return _dataContext.StoragePeers
+            return _dataContext.Peers
                                .SetConsistencyLevel(ConsistencyLevel.LocalQuorum)
-                               .Where(peer => peer.UselessKey == false)
                                .Execute()
                                .Select(peer => peer.ToPeerDescriptor(dynamicSubscriptionsByPeer[peer.PeerId]))
                                .Where(descriptor => descriptor != null)
@@ -73,26 +71,28 @@ namespace Abc.Zebus.Directory.Cassandra.Storage
 
         public void AddOrUpdatePeer(PeerDescriptor peerDescriptor)
         {
-            var storagePeer = peerDescriptor.ToStoragePeer();
-            _dataContext.StoragePeers
-                        .Insert(storagePeer)
+            var cassandraPeer = peerDescriptor.ToCassandra();
+            _dataContext.Peers
+                        .Insert(cassandraPeer)
                         .SetConsistencyLevel(ConsistencyLevel.LocalQuorum)
-                        .SetTimestamp(storagePeer.TimestampUtc)
+                        .SetTimestamp(cassandraPeer.TimestampUtc)
                         .Execute();
         }
 
         public void RemovePeer(PeerId peerId)
         {
             var now = DateTime.UtcNow;
-            _dataContext.StoragePeers
+
+            _dataContext.Peers
                         .SetConsistencyLevel(ConsistencyLevel.LocalQuorum)
-                        .Where(peer => peer.UselessKey == false && peer.PeerId == peerId.ToString())
+                        .Where(peer => peer.PeerId == peerId.ToString())
                         .Delete()
                         .SetTimestamp(now)
                         .Execute();
+
             _dataContext.DynamicSubscriptions
                         .SetConsistencyLevel(ConsistencyLevel.LocalQuorum)
-                        .Where(sub => sub.UselessKey == false && sub.PeerId == peerId.ToString())
+                        .Where(s => s.PeerId == peerId.ToString())
                         .Delete()
                         .SetTimestamp(now)
                         .Execute();
@@ -100,10 +100,10 @@ namespace Abc.Zebus.Directory.Cassandra.Storage
 
         public void SetPeerResponding(PeerId peerId, bool isResponding)
         {
-            _dataContext.StoragePeers
+            _dataContext.Peers
                         .SetConsistencyLevel(ConsistencyLevel.LocalQuorum)
-                        .Where(peer => peer.UselessKey == false && peer.PeerId == peerId.ToString())
-                        .Select(peer =>  new StoragePeer { IsResponding = isResponding })
+                        .Where(peer => peer.PeerId == peerId.ToString())
+                        .Select(peer =>  new CassandraPeer { IsResponding = isResponding })
                         .Update()
                         .SetTimestamp(DateTime.UtcNow)
                         .Execute();
@@ -112,15 +112,13 @@ namespace Abc.Zebus.Directory.Cassandra.Storage
 
         public void AddDynamicSubscriptionsForTypes(PeerId peerId, DateTime timestampUtc, SubscriptionsForType[] subscriptionsForTypes)
         {
-            if (subscriptionsForTypes == null)
-                return;
             var batch = _dataContext.Session.CreateBatch();
             batch.SetConsistencyLevel(ConsistencyLevel.LocalQuorum);
 
             foreach (var subscription in subscriptionsForTypes)
             {
                 batch.Append(_dataContext.DynamicSubscriptions
-                                         .Insert(subscription.ToStorageSubscription(peerId))
+                                         .Insert(subscription.ToCassandra(peerId))
                                          .SetTimestamp(timestampUtc));
             }
             batch.Execute();
@@ -128,15 +126,13 @@ namespace Abc.Zebus.Directory.Cassandra.Storage
 
         public void RemoveDynamicSubscriptionsForTypes(PeerId peerId, DateTime timestampUtc, MessageTypeId[] messageTypeIds)
         {
-            if (messageTypeIds == null)
-                return;
             var batch = _dataContext.Session.CreateBatch();
             batch.SetConsistencyLevel(ConsistencyLevel.LocalQuorum);
 
             foreach (var messageTypeId in messageTypeIds)
             {
                 var deleteQuery = _dataContext.DynamicSubscriptions
-                                              .Where(sub => sub.UselessKey == false && sub.PeerId == peerId.ToString() && sub.MessageTypeId == messageTypeId.FullName)
+                                              .Where(s => s.PeerId == peerId.ToString() && s.MessageTypeId == messageTypeId.FullName)
                                               .Delete()
                                               .SetTimestamp(timestampUtc);
                 batch.Append(deleteQuery);
@@ -149,7 +145,7 @@ namespace Abc.Zebus.Directory.Cassandra.Storage
         {
             _dataContext.DynamicSubscriptions
                         .SetConsistencyLevel(ConsistencyLevel.LocalQuorum)
-                        .Where(sub => sub.UselessKey == false && sub.PeerId == peerId.ToString())
+                        .Where(s => s.PeerId == peerId.ToString())
                         .Delete()
                         .SetTimestamp(timestampUtc)
                         .Execute();

+ 3 - 2
src/Abc.Zebus.Directory.Cassandra/Storage/DirectoryDataContext.cs → src/Abc.Zebus.Directory.Cassandra/Cql/DirectoryDataContext.cs

@@ -1,4 +1,5 @@
 using Abc.Zebus.Directory.Cassandra.Cql;
+using Abc.Zebus.Directory.Cassandra.Data;
 using Cassandra.Data.Linq;
 
 namespace Abc.Zebus.Directory.Cassandra.Storage
@@ -10,7 +11,7 @@ namespace Abc.Zebus.Directory.Cassandra.Storage
         {
         }
 
-        public Table<StorageSubscription> DynamicSubscriptions => new Table<StorageSubscription>(Session);
-        public Table<StoragePeer> StoragePeers => new Table<StoragePeer>(Session);
+        public Table<CassandraSubscription> DynamicSubscriptions => new(Session);
+        public Table<CassandraPeer> Peers => new (Session);
     }
 }

+ 32 - 28
src/Abc.Zebus.Directory.Cassandra/Storage/StorageConvertionExtensions.cs → src/Abc.Zebus.Directory.Cassandra/Data/CassandraExtensions.cs

@@ -2,17 +2,18 @@
 using System.Collections.Generic;
 using System.IO;
 using System.Linq;
+using Abc.Zebus.Directory.Cassandra.Storage;
 using Abc.Zebus.Routing;
 using ProtoBuf;
 
-namespace Abc.Zebus.Directory.Cassandra.Storage
+namespace Abc.Zebus.Directory.Cassandra.Data
 {
-    public static class StorageConversionExtensions
+    public static class CassandraExtensions
     {
-        public static StoragePeer ToStoragePeer(this PeerDescriptor peerDescriptor)
+        public static CassandraPeer ToCassandra(this PeerDescriptor peerDescriptor)
         {
             var timestamp = peerDescriptor.TimestampUtc.HasValue ? new DateTime(peerDescriptor.TimestampUtc.Value.Ticks, DateTimeKind.Utc) : DateTime.UtcNow;
-            return new StoragePeer
+            return new CassandraPeer
             {
                 PeerId = peerDescriptor.PeerId.ToString(),
                 EndPoint = peerDescriptor.Peer.EndPoint,
@@ -25,9 +26,9 @@ namespace Abc.Zebus.Directory.Cassandra.Storage
             };
         }
 
-        public static StorageSubscription ToStorageSubscription(this SubscriptionsForType subscriptionFortype, PeerId peerId)
+        public static CassandraSubscription ToCassandra(this SubscriptionsForType subscriptionFortype, PeerId peerId)
         {
-            return new StorageSubscription
+            return new CassandraSubscription
             {
                 PeerId = peerId.ToString(),
                 MessageTypeId = subscriptionFortype.MessageTypeId.FullName!,
@@ -35,40 +36,43 @@ namespace Abc.Zebus.Directory.Cassandra.Storage
             };
         }
 
-        public static SubscriptionsForType ToSubscriptionsForType(this StorageSubscription storageSubscription)
+        public static SubscriptionsForType ToSubscriptionsForType(this CassandraSubscription subscription)
         {
-            return new SubscriptionsForType(new MessageTypeId(storageSubscription.MessageTypeId), DeserializeBindingKeys(storageSubscription.SubscriptionBindings));
+            return new SubscriptionsForType(
+                new MessageTypeId(subscription.MessageTypeId),
+                DeserializeBindingKeys(subscription.SubscriptionBindings)
+            );
         }
 
-        public static PeerDescriptor? ToPeerDescriptor(this StoragePeer? storagePeer, IEnumerable<Subscription> peerDynamicSubscriptions)
+        public static PeerDescriptor? ToPeerDescriptor(this CassandraPeer? peer, IEnumerable<Subscription> peerDynamicSubscriptions)
         {
-            if (storagePeer?.StaticSubscriptionsBytes == null)
+            if (peer?.StaticSubscriptionsBytes == null)
                 return null;
 
-            var staticSubscriptions = DeserializeSubscriptions(storagePeer.StaticSubscriptionsBytes);
+            var staticSubscriptions = DeserializeSubscriptions(peer.StaticSubscriptionsBytes);
             var allSubscriptions = staticSubscriptions.Concat(peerDynamicSubscriptions).Distinct().ToArray();
-            return new PeerDescriptor(new PeerId(storagePeer.PeerId),
-                                      storagePeer.EndPoint,
-                                      storagePeer.IsPersistent,
-                                      storagePeer.IsUp,
-                                      storagePeer.IsResponding,
-                                      new DateTime(storagePeer.TimestampUtc.Ticks, DateTimeKind.Utc),
-                                      allSubscriptions) { HasDebuggerAttached = storagePeer.HasDebuggerAttached };
+            return new PeerDescriptor(new PeerId(peer.PeerId),
+                                      peer.EndPoint,
+                                      peer.IsPersistent,
+                                      peer.IsUp,
+                                      peer.IsResponding,
+                                      new DateTime(peer.TimestampUtc.Ticks, DateTimeKind.Utc),
+                                      allSubscriptions) { HasDebuggerAttached = peer.HasDebuggerAttached };
         }
 
-        public static PeerDescriptor? ToPeerDescriptor(this StoragePeer? storagePeer)
+        public static PeerDescriptor? ToPeerDescriptor(this CassandraPeer? peer)
         {
-            if (storagePeer == null)
+            if (peer == null)
                 return null;
 
-            var staticSubscriptions = DeserializeSubscriptions(storagePeer.StaticSubscriptionsBytes);
-            return new PeerDescriptor(new PeerId(storagePeer.PeerId),
-                                      storagePeer.EndPoint,
-                                      storagePeer.IsPersistent,
-                                      storagePeer.IsUp,
-                                      storagePeer.IsResponding,
-                                      new DateTime(storagePeer.TimestampUtc.Ticks, DateTimeKind.Utc),
-                                      staticSubscriptions) { HasDebuggerAttached = storagePeer.HasDebuggerAttached };
+            var staticSubscriptions = DeserializeSubscriptions(peer.StaticSubscriptionsBytes);
+            return new PeerDescriptor(new PeerId(peer.PeerId),
+                                      peer.EndPoint,
+                                      peer.IsPersistent,
+                                      peer.IsUp,
+                                      peer.IsResponding,
+                                      new DateTime(peer.TimestampUtc.Ticks, DateTimeKind.Utc),
+                                      staticSubscriptions) { HasDebuggerAttached = peer.HasDebuggerAttached };
         }
 
         private static byte[] SerializeSubscriptions(Subscription[] subscriptions)

+ 5 - 8
src/Abc.Zebus.Directory.Cassandra/Storage/StoragePeer.cs → src/Abc.Zebus.Directory.Cassandra/Data/CassandraPeer.cs

@@ -1,16 +1,12 @@
 using System;
 using Cassandra.Mapping.Attributes;
 
-namespace Abc.Zebus.Directory.Cassandra.Storage
+namespace Abc.Zebus.Directory.Cassandra.Data
 {
-    [Table("Peers", CaseSensitive = true)]
-    public class StoragePeer
+    [Table("Peers_2", CaseSensitive = true)]
+    public class CassandraPeer
     {
-        [PartitionKey]
-        public bool UselessKey { get; set; }
-
-        [ClusteringKey(0)]
-        [Column("PeerId")]
+        [PartitionKey, Column("PeerId")]
         public string PeerId { get; set; } = default!;
 
         [Column("EndPoint")]
@@ -33,5 +29,6 @@ namespace Abc.Zebus.Directory.Cassandra.Storage
 
         [Column("StaticSubscriptions")]
         public byte[] StaticSubscriptionsBytes { get; set; } = default!;
+
     }
 }

+ 17 - 0
src/Abc.Zebus.Directory.Cassandra/Data/CassandraSubscription.cs

@@ -0,0 +1,17 @@
+using Cassandra.Mapping.Attributes;
+
+namespace Abc.Zebus.Directory.Cassandra.Data
+{
+    [Table("DynamicSubscriptions_2", CaseSensitive = true)]
+    public class CassandraSubscription
+    {
+        [PartitionKey, Column("PeerId")]
+        public string PeerId { get; set; } = default!;
+
+        [ClusteringKey(0), Column("MessageTypeId")]
+        public string MessageTypeId { get; set; } = default!;
+
+        [Column("SubscriptionBindings")]
+        public byte[] SubscriptionBindings { get; set; } = default!;
+    }
+}

+ 0 - 22
src/Abc.Zebus.Directory.Cassandra/Storage/StorageSubscription.cs

@@ -1,22 +0,0 @@
-using Cassandra.Mapping.Attributes;
-
-namespace Abc.Zebus.Directory.Cassandra.Storage
-{
-    [Table("DynamicSubscriptions", CaseSensitive = true)]
-    public class StorageSubscription
-    {
-        [PartitionKey]
-        public bool UselessKey { get; set; }
-
-        [ClusteringKey(0)]
-        [Column("PeerId")]
-        public string PeerId { get; set; } = default!;
-
-        [ClusteringKey(1)]
-        [Column("MessageTypeId")]
-        public string MessageTypeId { get; set; } = default!;
-
-        [Column("SubscriptionBindings")]
-        public byte[] SubscriptionBindings { get; set; } = default!;
-    }
-}

+ 6 - 8
src/Abc.Zebus.Directory.Cassandra/schema_creation.cql

@@ -1,7 +1,6 @@
 -- First create your Keyspace with the replication factor you want
 
-create table IF NOT EXISTS "Peers" (
-	"UselessKey" boolean,
+create table IF NOT EXISTS "Peers_2" (
 	"PeerId" text,
 	"EndPoint" text,
 	"IsUp" boolean,
@@ -10,13 +9,12 @@ create table IF NOT EXISTS "Peers" (
 	"TimestampUtc" timestamp,
 	"HasDebuggerAttached" boolean,
 	"StaticSubscriptions" blob,
-	PRIMARY KEY("UselessKey", "PeerId")
+	PRIMARY KEY("PeerId")
 );
 
-create table IF NOT EXISTS "DynamicSubscriptions" (
-	"UselessKey" boolean,
+create table IF NOT EXISTS "DynamicSubscriptions_2" (
 	"PeerId" text,
-	"MessageTypeId" text,	
+	"MessageTypeId" text,
 	"SubscriptionBindings" blob,
-	PRIMARY KEY("UselessKey", "PeerId", "MessageTypeId")
-);
+	PRIMARY KEY("PeerId", "MessageTypeId")
+);

+ 2 - 2
src/Abc.Zebus.Persistence.CQL.Testing/Abc.Zebus.Persistence.CQL.Testing.csproj → src/Abc.Zebus.Persistence.Cassandra.Testing/Abc.Zebus.Persistence.Cassandra.Testing.csproj

@@ -2,12 +2,12 @@
 
   <PropertyGroup>
     <TargetFramework>netstandard2.0</TargetFramework>
-    <PackageId>Zebus.Persistence.CQL.Testing</PackageId>
+    <PackageId>Zebus.Persistence.Cassandra.Testing</PackageId>
     <Version>$(ZebusPersistenceVersion)</Version>
   </PropertyGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\Abc.Zebus.Persistence.CQL\Abc.Zebus.Persistence.CQL.csproj" />
+    <ProjectReference Include="..\Abc.Zebus.Persistence.Cassandra\Abc.Zebus.Persistence.Cassandra.csproj" />
     <ProjectReference Include="..\Abc.Zebus.Persistence.Messages\Abc.Zebus.Persistence.Messages.csproj" PrivateAssets="All" />
   </ItemGroup>
 

+ 3 - 3
src/Abc.Zebus.Persistence.CQL.Testing/CassandraConfigurationMock.cs → src/Abc.Zebus.Persistence.Cassandra.Testing/CassandraConfigurationMock.cs

@@ -1,8 +1,8 @@
 using System;
-using Abc.Zebus.Persistence.CQL.Util;
+using Abc.Zebus.Persistence.Cassandra.Cql;
 using Moq;
 
-namespace Abc.Zebus.Persistence.CQL.Testing
+namespace Abc.Zebus.Persistence.Cassandra.Testing
 {
     // TODO: This entire namespace belongs in Zebus.Testing but it would require the creation of a Zebus.Shared, and we are not ready for that just yet
     public class CassandraConfigurationMock<TConfig> : Mock<TConfig> where TConfig : class, ICassandraConfiguration
@@ -15,4 +15,4 @@ namespace Abc.Zebus.Persistence.CQL.Testing
             As<ICassandraConfiguration>().SetupGet(config => config.LocalDataCenter).Returns(localDataCenter);
         }
     }
-}
+}

+ 0 - 0
src/Abc.Zebus.Persistence.CQL.Testing/Properties/AssemblyInfo.cs → src/Abc.Zebus.Persistence.Cassandra.Testing/Properties/AssemblyInfo.cs


+ 2 - 1
src/Abc.Zebus.Persistence.CQL.Tests/Abc.Zebus.Persistence.CQL.Tests.csproj → src/Abc.Zebus.Persistence.Cassandra.Tests/Abc.Zebus.Persistence.Cassandra.Tests.csproj

@@ -3,12 +3,13 @@
   <PropertyGroup>
     <TargetFrameworks>net48;net5.0</TargetFrameworks>
     <Version>$(ZebusPersistenceVersion)</Version>
+    <RootNamespace>Abc.Zebus.Persistence.Cassandra.Tests</RootNamespace>
   </PropertyGroup>
 
   <Import Project="..\Abc.Zebus.Tests.props" />
 
   <ItemGroup>
-    <ProjectReference Include="..\Abc.Zebus.Persistence.CQL.Testing\Abc.Zebus.Persistence.CQL.Testing.csproj" />
+    <ProjectReference Include="..\Abc.Zebus.Persistence.Cassandra.Testing\Abc.Zebus.Persistence.Cassandra.Testing.csproj" />
     <ProjectReference Include="..\Abc.Zebus.Persistence.Messages\Abc.Zebus.Persistence.Messages.csproj" PrivateAssets="All" />
     <ProjectReference Include="..\Abc.Zebus.Testing\Abc.Zebus.Testing.csproj" />
   </ItemGroup>

+ 1 - 1
src/Abc.Zebus.Persistence.CQL.Tests/BucketIdHelperTests.cs → src/Abc.Zebus.Persistence.Cassandra.Tests/BucketIdHelperTests.cs

@@ -3,7 +3,7 @@ using Abc.Zebus.Persistence.Messages;
 using Abc.Zebus.Testing.Extensions;
 using NUnit.Framework;
 
-namespace Abc.Zebus.Persistence.CQL.Tests
+namespace Abc.Zebus.Persistence.Cassandra.Tests
 {
     public class BucketIdHelperTests
     {

+ 3 - 3
src/Abc.Zebus.Persistence.CQL.Tests/Cql/CqlTestFixture.cs → src/Abc.Zebus.Persistence.Cassandra.Tests/Cql/CqlTestFixture.cs

@@ -2,14 +2,14 @@
 using System.Collections.Generic;
 using System.Diagnostics;
 using System.Reflection;
-using Abc.Zebus.Persistence.CQL.Testing;
-using Abc.Zebus.Persistence.CQL.Util;
+using Abc.Zebus.Persistence.Cassandra.Cql;
+using Abc.Zebus.Persistence.Cassandra.Testing;
 using Cassandra;
 using Cassandra.Mapping;
 using Moq;
 using NUnit.Framework;
 
-namespace Abc.Zebus.Persistence.CQL.Tests.Cql
+namespace Abc.Zebus.Persistence.Cassandra.Tests.Cql
 {
     // TODO: This entire namespace belongs in Zebus.Testing but it would require the creation of a Zebus.Shared, and we are not ready for that just yet
     public abstract class CqlTestFixture<TDataContext, TConfig>

+ 4 - 4
src/Abc.Zebus.Persistence.CQL.Tests/CqlMessageReaderTests.cs → src/Abc.Zebus.Persistence.Cassandra.Tests/CqlMessageReaderTests.cs

@@ -1,9 +1,9 @@
 using System;
 using System.IO;
 using System.Linq;
-using Abc.Zebus.Persistence.CQL.Data;
-using Abc.Zebus.Persistence.CQL.Storage;
-using Abc.Zebus.Persistence.CQL.Tests.Cql;
+using Abc.Zebus.Persistence.Cassandra.Cql;
+using Abc.Zebus.Persistence.Cassandra.Data;
+using Abc.Zebus.Persistence.Cassandra.Tests.Cql;
 using Abc.Zebus.Persistence.Messages;
 using Abc.Zebus.Persistence.Storage;
 using Abc.Zebus.Serialization;
@@ -12,7 +12,7 @@ using Abc.Zebus.Testing.Extensions;
 using Abc.Zebus.Transport;
 using NUnit.Framework;
 
-namespace Abc.Zebus.Persistence.CQL.Tests
+namespace Abc.Zebus.Persistence.Cassandra.Tests
 {
     public class CqlMessageReaderTests : CqlTestFixture<PersistenceCqlDataContext, ICqlPersistenceConfiguration>
     {

+ 4 - 4
src/Abc.Zebus.Persistence.CQL.Tests/CqlStorageTests.cs → src/Abc.Zebus.Persistence.Cassandra.Tests/CqlStorageTests.cs

@@ -2,9 +2,9 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
-using Abc.Zebus.Persistence.CQL.Data;
-using Abc.Zebus.Persistence.CQL.Storage;
-using Abc.Zebus.Persistence.CQL.Tests.Cql;
+using Abc.Zebus.Persistence.Cassandra.Cql;
+using Abc.Zebus.Persistence.Cassandra.Data;
+using Abc.Zebus.Persistence.Cassandra.Tests.Cql;
 using Abc.Zebus.Persistence.Matching;
 using Abc.Zebus.Persistence.Messages;
 using Abc.Zebus.Persistence.Reporter;
@@ -17,7 +17,7 @@ using Moq;
 using NUnit.Framework;
 using ProtoBuf;
 
-namespace Abc.Zebus.Persistence.CQL.Tests
+namespace Abc.Zebus.Persistence.Cassandra.Tests
 {
     public class CqlStorageTests : CqlTestFixture<PersistenceCqlDataContext, ICqlPersistenceConfiguration>
     {

+ 1 - 1
src/Abc.Zebus.Persistence.CQL.Tests/MessageIdV2.cs → src/Abc.Zebus.Persistence.Cassandra.Tests/MessageIdV2.cs

@@ -1,7 +1,7 @@
 using System;
 using System.Security.Cryptography;
 
-namespace Abc.Zebus.Persistence.CQL.Tests
+namespace Abc.Zebus.Persistence.Cassandra.Tests
 {
     public static class MessageIdV2
     {

+ 5 - 5
src/Abc.Zebus.Persistence.CQL.Tests/OldestNonAckedMessageUpdaterPeriodicActionTests.cs → src/Abc.Zebus.Persistence.Cassandra.Tests/OldestNonAckedMessageUpdaterPeriodicActionTests.cs

@@ -2,17 +2,17 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
-using Abc.Zebus.Persistence.CQL.Data;
-using Abc.Zebus.Persistence.CQL.PeriodicAction;
-using Abc.Zebus.Persistence.CQL.Storage;
-using Abc.Zebus.Persistence.CQL.Tests.Cql;
+using Abc.Zebus.Persistence.Cassandra.Cql;
+using Abc.Zebus.Persistence.Cassandra.Data;
+using Abc.Zebus.Persistence.Cassandra.PeriodicAction;
+using Abc.Zebus.Persistence.Cassandra.Tests.Cql;
 using Abc.Zebus.Testing;
 using Abc.Zebus.Testing.Extensions;
 using Abc.Zebus.Util;
 using Moq;
 using NUnit.Framework;
 
-namespace Abc.Zebus.Persistence.CQL.Tests
+namespace Abc.Zebus.Persistence.Cassandra.Tests
 {
     public class OldestNonAckedMessageUpdaterPeriodicActionTests : CqlTestFixture<PersistenceCqlDataContext, ICqlPersistenceConfiguration>
     {

+ 0 - 0
src/Abc.Zebus.Persistence.CQL.Tests/Properties/AssemblyInfo.cs → src/Abc.Zebus.Persistence.Cassandra.Tests/Properties/AssemblyInfo.cs


+ 1 - 1
src/Abc.Zebus.Persistence.CQL/Abc.Zebus.Persistence.CQL.csproj → src/Abc.Zebus.Persistence.Cassandra/Abc.Zebus.Persistence.Cassandra.csproj

@@ -2,7 +2,7 @@
 
   <PropertyGroup>
     <TargetFramework>netstandard2.0</TargetFramework>
-    <PackageId>Zebus.Persistence.CQL</PackageId>
+    <PackageId>Zebus.Persistence.Cassandra</PackageId>
     <Version>$(ZebusPersistenceVersion)</Version>
   </PropertyGroup>
 

+ 1 - 1
src/Abc.Zebus.Persistence.CQL/Util/CassandraCqlSessionManager.cs → src/Abc.Zebus.Persistence.Cassandra/Cql/CassandraCqlSessionManager.cs

@@ -3,7 +3,7 @@ using System.Collections.Concurrent;
 using System.Linq;
 using Cassandra;
 
-namespace Abc.Zebus.Persistence.CQL.Util
+namespace Abc.Zebus.Persistence.Cassandra.Cql
 {
     public class CassandraCqlSessionManager : IDisposable
     {

+ 1 - 1
src/Abc.Zebus.Persistence.CQL/Util/CqlDataContext.cs → src/Abc.Zebus.Persistence.Cassandra/Cql/CqlDataContext.cs

@@ -5,7 +5,7 @@ using Cassandra;
 using Cassandra.Data.Linq;
 using TableAttribute = Cassandra.Mapping.Attributes.TableAttribute;
 
-namespace Abc.Zebus.Persistence.CQL.Util
+namespace Abc.Zebus.Persistence.Cassandra.Cql
 {
     public abstract class CqlDataContext<TConfig> where TConfig : ICassandraConfiguration
     {

+ 2 - 2
src/Abc.Zebus.Persistence.CQL/Storage/CqlMessageReader.cs → src/Abc.Zebus.Persistence.Cassandra/Cql/CqlMessageReader.cs

@@ -1,14 +1,14 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
-using Abc.Zebus.Persistence.CQL.Data;
+using Abc.Zebus.Persistence.Cassandra.Data;
 using Abc.Zebus.Persistence.Messages;
 using Abc.Zebus.Persistence.Storage;
 using Cassandra;
 using Cassandra.Data.Linq;
 using log4net;
 
-namespace Abc.Zebus.Persistence.CQL.Storage
+namespace Abc.Zebus.Persistence.Cassandra.Cql
 {
     public class CqlMessageReader : IMessageReader
     {

+ 3 - 3
src/Abc.Zebus.Persistence.CQL/Storage/CqlStorage.cs → src/Abc.Zebus.Persistence.Cassandra/Cql/CqlStorage.cs

@@ -3,8 +3,8 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Threading;
 using System.Threading.Tasks;
-using Abc.Zebus.Persistence.CQL.Data;
-using Abc.Zebus.Persistence.CQL.Util;
+using Abc.Zebus.Persistence.Cassandra.Data;
+using Abc.Zebus.Persistence.Cassandra.Util;
 using Abc.Zebus.Persistence.Matching;
 using Abc.Zebus.Persistence.Messages;
 using Abc.Zebus.Persistence.Reporter;
@@ -15,7 +15,7 @@ using Cassandra;
 using Cassandra.Data.Linq;
 using log4net;
 
-namespace Abc.Zebus.Persistence.CQL.Storage
+namespace Abc.Zebus.Persistence.Cassandra.Cql
 {
     public class CqlStorage : ICqlStorage, IDisposable
     {

+ 2 - 2
src/Abc.Zebus.Persistence.CQL/Util/ICassandraConfiguration.cs → src/Abc.Zebus.Persistence.Cassandra/Cql/ICassandraConfiguration.cs

@@ -1,6 +1,6 @@
 using System;
 
-namespace Abc.Zebus.Persistence.CQL.Util
+namespace Abc.Zebus.Persistence.Cassandra.Cql
 {
     public interface ICassandraConfiguration
     {
@@ -26,4 +26,4 @@ namespace Abc.Zebus.Persistence.CQL.Util
         /// </summary>
         string LocalDataCenter { get; }
     }
-}
+}

+ 1 - 1
src/Abc.Zebus.Persistence.CQL/Storage/ICqlStorage.cs → src/Abc.Zebus.Persistence.Cassandra/Cql/ICqlStorage.cs

@@ -2,7 +2,7 @@
 using System.Threading.Tasks;
 using Abc.Zebus.Persistence.Storage;
 
-namespace Abc.Zebus.Persistence.CQL.Storage
+namespace Abc.Zebus.Persistence.Cassandra.Cql
 {
     public interface ICqlStorage : IStorage
     {

+ 2 - 2
src/Abc.Zebus.Persistence.CQL/Storage/PeerState.cs → src/Abc.Zebus.Persistence.Cassandra/Cql/PeerState.cs

@@ -1,7 +1,7 @@
 using System;
 using Abc.Zebus.Util;
 
-namespace Abc.Zebus.Persistence.CQL.Storage
+namespace Abc.Zebus.Persistence.Cassandra.Cql
 {
     public class PeerState
     {
@@ -31,7 +31,7 @@ namespace Abc.Zebus.Persistence.CQL.Storage
 
         /// <summary>
         /// Provides a timestamp that is lower than or equal to the timestamp of the last unacked message.
-        /// 
+        ///
         /// The goal of this value is to  make replay efficient by using a recent starting point, thus reducing
         /// the number of messages that the replay will scan.
         /// </summary>

+ 2 - 2
src/Abc.Zebus.Persistence.CQL/Storage/PeerStateRepository.cs → src/Abc.Zebus.Persistence.Cassandra/Cql/PeerStateRepository.cs

@@ -2,7 +2,7 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
-using Abc.Zebus.Persistence.CQL.Data;
+using Abc.Zebus.Persistence.Cassandra.Data;
 using Abc.Zebus.Persistence.Messages;
 using Abc.Zebus.Persistence.Util;
 using Abc.Zebus.Util;
@@ -10,7 +10,7 @@ using Cassandra;
 using Cassandra.Data.Linq;
 using log4net;
 
-namespace Abc.Zebus.Persistence.CQL.Storage
+namespace Abc.Zebus.Persistence.Cassandra.Cql
 {
     public class PeerStateRepository
     {

+ 2 - 2
src/Abc.Zebus.Persistence.CQL/Data/CassandraPeerState.cs → src/Abc.Zebus.Persistence.Cassandra/Data/CassandraPeerState.cs

@@ -1,7 +1,7 @@
-using Abc.Zebus.Persistence.CQL.Storage;
+using Abc.Zebus.Persistence.Cassandra.Cql;
 using Cassandra.Mapping.Attributes;
 
-namespace Abc.Zebus.Persistence.CQL.Data
+namespace Abc.Zebus.Persistence.Cassandra.Data
 {
     [Table("PeerState", CaseSensitive = true)]
     public class CassandraPeerState

+ 3 - 3
src/Abc.Zebus.Persistence.CQL/Data/PersistenceCqlDataContext.cs → src/Abc.Zebus.Persistence.Cassandra/Data/PersistenceCqlDataContext.cs

@@ -1,7 +1,7 @@
-using Abc.Zebus.Persistence.CQL.Util;
+using Abc.Zebus.Persistence.Cassandra.Cql;
 using Cassandra.Data.Linq;
 
-namespace Abc.Zebus.Persistence.CQL.Data
+namespace Abc.Zebus.Persistence.Cassandra.Data
 {
     public class PersistenceCqlDataContext : CqlDataContext<ICqlPersistenceConfiguration>
     {
@@ -12,4 +12,4 @@ namespace Abc.Zebus.Persistence.CQL.Data
         public Table<PersistentMessage> PersistentMessages => new Table<PersistentMessage>(Session);
         public Table<CassandraPeerState> PeerStates => new Table<CassandraPeerState>(Session);
     }
-}
+}

+ 1 - 1
src/Abc.Zebus.Persistence.CQL/Data/PersistentMessage.cs → src/Abc.Zebus.Persistence.Cassandra/Data/PersistentMessage.cs

@@ -1,7 +1,7 @@
 using System;
 using Cassandra.Mapping.Attributes;
 
-namespace Abc.Zebus.Persistence.CQL.Data
+namespace Abc.Zebus.Persistence.Cassandra.Data
 {
     [Table("PersistentMessage", CaseSensitive = true)]
     public class PersistentMessage

+ 2 - 2
src/Abc.Zebus.Persistence.CQL/ICqlPersistenceConfiguration.cs → src/Abc.Zebus.Persistence.Cassandra/ICqlPersistenceConfiguration.cs

@@ -1,7 +1,7 @@
 using System;
-using Abc.Zebus.Persistence.CQL.Util;
+using Abc.Zebus.Persistence.Cassandra.Cql;
 
-namespace Abc.Zebus.Persistence.CQL
+namespace Abc.Zebus.Persistence.Cassandra
 {
     public interface ICqlPersistenceConfiguration : ICassandraConfiguration
     {

+ 2 - 2
src/Abc.Zebus.Persistence.CQL/PeriodicAction/OldestNonAckedMessageUpdaterPeriodicAction.cs → src/Abc.Zebus.Persistence.Cassandra/PeriodicAction/OldestNonAckedMessageUpdaterPeriodicAction.cs

@@ -2,12 +2,12 @@
 using System.Linq;
 using System.Threading.Tasks;
 using Abc.Zebus.Hosting;
-using Abc.Zebus.Persistence.CQL.Storage;
+using Abc.Zebus.Persistence.Cassandra.Cql;
 using Abc.Zebus.Persistence.Storage;
 using Abc.Zebus.Util;
 using Abc.Zebus.Util.Extensions;
 
-namespace Abc.Zebus.Persistence.CQL.PeriodicAction
+namespace Abc.Zebus.Persistence.Cassandra.PeriodicAction
 {
     public class OldestNonAckedMessageUpdaterPeriodicAction : PeriodicActionHostInitializer
     {

+ 2 - 2
src/Abc.Zebus.Persistence.CQL/Properties/AssemblyInfo.cs → src/Abc.Zebus.Persistence.Cassandra/Properties/AssemblyInfo.cs

@@ -6,7 +6,7 @@ using System.Runtime.InteropServices;
 
 [assembly: InternalsVisibleTo("Abc.Zebus.Integration")]
 [assembly: InternalsVisibleTo("Abc.Zebus.PersistenceService.Tests")]
-[assembly: InternalsVisibleTo("Abc.Zebus.Persistence.CQL.Testing")]
-[assembly: InternalsVisibleTo("Abc.Zebus.Persistence.CQL.Tests")]
+[assembly: InternalsVisibleTo("Abc.Zebus.Persistence.Cassandra.Testing")]
+[assembly: InternalsVisibleTo("Abc.Zebus.Persistence.Cassandra.Tests")]
 
 [module: SkipLocalsInit]

+ 1 - 1
src/Abc.Zebus.Persistence.CQL/Util/MessageIdExtensions.cs → src/Abc.Zebus.Persistence.Cassandra/Util/MessageIdExtensions.cs

@@ -1,6 +1,6 @@
 using System;
 
-namespace Abc.Zebus.Persistence.CQL.Util
+namespace Abc.Zebus.Persistence.Cassandra.Util
 {
     public static class MessageIdExtensions
     {

+ 0 - 0
src/Abc.Zebus.Persistence.CQL/schema/1.0/01_Create_PersistentMessage.cql → src/Abc.Zebus.Persistence.Cassandra/schema/1.0/01_Create_PersistentMessage.cql


+ 0 - 0
src/Abc.Zebus.Persistence.CQL/schema/1.0/02_Create_PeerState.cql → src/Abc.Zebus.Persistence.Cassandra/schema/1.0/02_Create_PeerState.cql


+ 0 - 0
src/Abc.Zebus.Persistence.CQL/schema/1.1/01_Create_PersistentMessage.cql → src/Abc.Zebus.Persistence.Cassandra/schema/1.1/01_Create_PersistentMessage.cql


+ 1 - 1
src/Abc.Zebus.Persistence.Runner/Abc.Zebus.Persistence.Runner.csproj

@@ -8,7 +8,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\Abc.Zebus.Persistence.CQL\Abc.Zebus.Persistence.CQL.csproj" />
+    <ProjectReference Include="..\Abc.Zebus.Persistence.Cassandra\Abc.Zebus.Persistence.Cassandra.csproj" />
     <ProjectReference Include="..\Abc.Zebus.Persistence.RocksDb\Abc.Zebus.Persistence.RocksDb.csproj" />
   </ItemGroup>
 

+ 1 - 1
src/Abc.Zebus.Persistence.Runner/CassandraAppSettingsConfiguration.cs

@@ -1,5 +1,5 @@
 using System;
-using Abc.Zebus.Persistence.CQL;
+using Abc.Zebus.Persistence.Cassandra;
 using FluentDate;
 
 namespace Abc.Zebus.Persistence.Runner

+ 3 - 4
src/Abc.Zebus.Persistence.Runner/Program.cs

@@ -6,10 +6,9 @@ using Abc.Zebus.Core;
 using Abc.Zebus.Directory;
 using Abc.Zebus.Dispatch;
 using Abc.Zebus.Monitoring;
-using Abc.Zebus.Persistence.CQL;
-using Abc.Zebus.Persistence.CQL.PeriodicAction;
-using Abc.Zebus.Persistence.CQL.Storage;
-using Abc.Zebus.Persistence.CQL.Util;
+using Abc.Zebus.Persistence.Cassandra;
+using Abc.Zebus.Persistence.Cassandra.Cql;
+using Abc.Zebus.Persistence.Cassandra.PeriodicAction;
 using Abc.Zebus.Persistence.Initialization;
 using Abc.Zebus.Persistence.Matching;
 using Abc.Zebus.Persistence.Reporter;

+ 2 - 2
src/Abc.Zebus.Persistence/Properties/AssemblyInfo.cs

@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
 [assembly: Guid("acc56b25-51e9-4864-8913-d36ba6d8ffab")]
 
 [assembly: InternalsVisibleTo("Abc.Zebus.Persistence.Tests")]
-[assembly: InternalsVisibleTo("Abc.Zebus.Persistence.CQL")]
-[assembly: InternalsVisibleTo("Abc.Zebus.Persistence.CQL.Tests")]
+[assembly: InternalsVisibleTo("Abc.Zebus.Persistence.Cassandra")]
+[assembly: InternalsVisibleTo("Abc.Zebus.Persistence.Cassandra.Tests")]
 
 [module: SkipLocalsInit]

+ 1 - 1
src/Abc.Zebus.Testing/Properties/AssemblyInfo.cs

@@ -12,5 +12,5 @@ using System.Runtime.InteropServices;
 [assembly: InternalsVisibleTo("Abc.Zebus.Directory.Cassandra.Tests")]
 [assembly: InternalsVisibleTo("Abc.Zebus.Directory.RocksDb.Tests")]
 [assembly: InternalsVisibleTo("Abc.Zebus.Persistence.Tests")]
-[assembly: InternalsVisibleTo("Abc.Zebus.Persistence.CQL.Tests")]
+[assembly: InternalsVisibleTo("Abc.Zebus.Persistence.Cassandra.Tests")]
 [assembly: InternalsVisibleTo("Abc.Zebus.Persistence.RocksDb.Tests")]

+ 3 - 3
src/Abc.Zebus.sln

@@ -33,11 +33,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Abc.Zebus.Directory.Cassand
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Abc.Zebus.Directory.Tests", "Abc.Zebus.Directory.Tests\Abc.Zebus.Directory.Tests.csproj", "{7C004E59-3B24-4359-8E45-1CD93F03FD80}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Abc.Zebus.Persistence.CQL", "Abc.Zebus.Persistence.CQL\Abc.Zebus.Persistence.CQL.csproj", "{C59CFDDA-987B-4948-B016-95982BBE2CFA}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Abc.Zebus.Persistence.Cassandra", "Abc.Zebus.Persistence.Cassandra\Abc.Zebus.Persistence.Cassandra.csproj", "{C59CFDDA-987B-4948-B016-95982BBE2CFA}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Abc.Zebus.Persistence.CQL.Testing", "Abc.Zebus.Persistence.CQL.Testing\Abc.Zebus.Persistence.CQL.Testing.csproj", "{1059B7D5-1C8F-4702-A6DA-58986FB042F6}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Abc.Zebus.Persistence.Cassandra.Testing", "Abc.Zebus.Persistence.Cassandra.Testing\Abc.Zebus.Persistence.Cassandra.Testing.csproj", "{1059B7D5-1C8F-4702-A6DA-58986FB042F6}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Abc.Zebus.Persistence.CQL.Tests", "Abc.Zebus.Persistence.CQL.Tests\Abc.Zebus.Persistence.CQL.Tests.csproj", "{A9B86B14-A1D5-46F8-9F2D-777C204D7C0B}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Abc.Zebus.Persistence.Cassandra.Tests", "Abc.Zebus.Persistence.Cassandra.Tests\Abc.Zebus.Persistence.Cassandra.Tests.csproj", "{A9B86B14-A1D5-46F8-9F2D-777C204D7C0B}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Abc.Zebus.Persistence.Messages", "Abc.Zebus.Persistence.Messages\Abc.Zebus.Persistence.Messages.csproj", "{8FC5C46E-9C7F-4905-B8A8-89E154F576CF}"
 EndProject

+ 2 - 2
src/Abc.Zebus/Properties/AssemblyInfo.cs

@@ -21,8 +21,8 @@ using System.Runtime.InteropServices;
 [assembly: InternalsVisibleTo("Abc.Zebus.DirectoryService.Tests")]
 
 [assembly: InternalsVisibleTo("Abc.Zebus.Persistence")]
-[assembly: InternalsVisibleTo("Abc.Zebus.Persistence.CQL")]
-[assembly: InternalsVisibleTo("Abc.Zebus.Persistence.CQL.Tests")]
+[assembly: InternalsVisibleTo("Abc.Zebus.Persistence.Cassandra")]
+[assembly: InternalsVisibleTo("Abc.Zebus.Persistence.Cassandra.Tests")]
 [assembly: InternalsVisibleTo("Abc.Zebus.Persistence.RocksDb")]
 [assembly: InternalsVisibleTo("Abc.Zebus.Persistence.RocksDb.Tests")]
 [assembly: InternalsVisibleTo("Abc.Zebus.Persistence.Tests")]