Exemplo n.º 1
0
        // Partition does not have default constructor so need a method.
        private Partition CreatePartition()
        {
            if (this.random.Next() % 2 == 0)
            {
                ServicePartitionStatus partitionStatus = this.random.CreateRandom <ServicePartitionStatus>();
                var quorumLossDuration = partitionStatus != ServicePartitionStatus.InQuorumLoss ? TimeSpan.FromSeconds(0) : this.random.CreateRandom <TimeSpan>();

                return(new StatefulServicePartition(
                           this.random.CreateRandom <ServicePartitionInformation>(),
                           7,
                           4,
                           this.random.CreateRandom <HealthState>(),
                           partitionStatus,
                           quorumLossDuration,
                           new Epoch()));
            }
            else
            {
                return(new StatelessServicePartition(
                           this.random.CreateRandom <ServicePartitionInformation>(),
                           7,
                           this.random.CreateRandom <HealthState>(),
                           ServicePartitionStatus.Ready));
            }
        }
 public PartitionWrapper(PartitionWrapper partitionWrapper)
 {
     this.partitionId          = partitionWrapper.PartitionInformation.Id;
     this.PartitionInformation = partitionWrapper.PartitionInformation;
     this.ServiceKind          = partitionWrapper.ServiceKind;
     this.HealthState          = partitionWrapper.HealthState;
     this.PartitionStatus      = partitionWrapper.PartitionStatus;
 }
Exemplo n.º 3
0
 internal StatelessServicePartition(
     ServicePartitionInformation partitionInformation,
     long instanceCount,
     HealthState healthState,
     ServicePartitionStatus partitionStatus)
     : base(ServiceKind.Stateless, partitionInformation, healthState, partitionStatus)
 {
     this.InstanceCount = instanceCount;
 }
Exemplo n.º 4
0
 /// <summary>
 /// Creates a Stateful <see cref="Partition"/> with the provided values as would be returned as part of <see cref="ServicePartitionList"/> by
 /// from query <see cref="FabricClient.QueryClient.GetPartitionListAsync(System.Uri)"/>.
 /// </summary>
 /// <returns></returns>
 public static Partition CreateStatefulPartition(ServicePartitionInformation partitionInformation, long targetReplicaSetSize, long minReplicaSetSize,
                                                 HealthState healthState, ServicePartitionStatus partitionStatus, TimeSpan lastQuorumLossDuration, Epoch primaryEpoch)
 {
     object[] param =
     {
         partitionInformation, targetReplicaSetSize, minReplicaSetSize, healthState, partitionStatus, lastQuorumLossDuration, primaryEpoch
     };
     //new StatefulServicePartition(new SingletonPartitionInformation(), 3, 3, HealthState.Ok, ServicePartitionStatus.Ready, TimeSpan.Zero, new Epoch())
     return((Partition)Activator.CreateInstance(typeof(StatefulServicePartition), BindingFlags.Instance | BindingFlags.NonPublic, null, param, CultureInfo.CurrentCulture));
 }
Exemplo n.º 5
0
 /// <summary>
 /// Creates a Stateless <see cref="Partition"/> with the provided values as would be returned as part of <see cref="ServicePartitionList"/> by
 /// from query <see cref="FabricClient.QueryClient.GetPartitionListAsync(System.Uri)"/>.
 /// </summary>
 /// <returns></returns>
 public static Partition CreateStatelessPartition(ServicePartitionInformation partitionInformation, long instanceCount,
                                                  HealthState healthState, ServicePartitionStatus partitionStatus)
 {
     object[] param =
     {
         partitionInformation, instanceCount, healthState, partitionStatus
     };
     //new StatelessServicePartition(new SingletonPartitionInformation(), 3, 3, HealthState.Ok, ServicePartitionStatus.Ready, TimeSpan.Zero, new Epoch())
     return((Partition)Activator.CreateInstance(typeof(StatelessServicePartition), BindingFlags.Instance | BindingFlags.NonPublic, null, param, CultureInfo.CurrentCulture));
 }
 public PartitionWrapper(Partition partition, Guid primaryPartitionId, Uri applicationName, Uri serviceName, ClusterDetails primaryCluster, ClusterDetails secondaryCluster)
 {
     this.partitionId          = partition.PartitionInformation.Id;
     this.primaryPartitionId   = primaryPartitionId;
     this.PartitionInformation = partition.PartitionInformation;
     this.ServiceKind          = partition.ServiceKind;
     this.HealthState          = partition.HealthState;
     this.PartitionStatus      = partition.PartitionStatus;
     this.applicationName      = applicationName;
     this.serviceName          = serviceName;
     this.primaryCluster       = primaryCluster;
     this.secondaryCluster     = secondaryCluster;
 }
Exemplo n.º 7
0
 internal StatefulServicePartition(
     ServicePartitionInformation partitionInformation,
     long targetReplicaSetSize,
     long minReplicaSetSize,
     HealthState healthState,
     ServicePartitionStatus partitionStatus,
     TimeSpan lastQuorumLossDuration,
     Epoch primaryEpoch)
     : base(ServiceKind.Stateful, partitionInformation, healthState, partitionStatus)
 {
     this.TargetReplicaSetSize   = targetReplicaSetSize;
     this.MinReplicaSetSize      = minReplicaSetSize;
     this.LastQuorumLossDuration = lastQuorumLossDuration;
     this.PrimaryEpoch           = primaryEpoch;
 }
Exemplo n.º 8
0
 public MockPartition(ServiceKind serviceKind, ServicePartitionInformation partitionInformation, HealthState healthState, ServicePartitionStatus partitionStatus)
     : base(serviceKind, partitionInformation, healthState, partitionStatus)
 {
 }
Exemplo n.º 9
0
 /// <summary>
 /// <para>Initializes a new instance of the partition</para>
 /// </summary>
 /// <param name="serviceKind">
 /// <para>The type of the partition</para>
 /// </param>
 /// <param name="partitionInformation">
 /// <para>The Partition Information</para>
 /// </param>
 /// <param name="healthState">
 /// <para>Health State of the partition</para>
 /// </param>
 /// <param name="partitionStatus">
 /// <para>Status of the partition</para>
 /// </param>
 protected Partition(ServiceKind serviceKind, ServicePartitionInformation partitionInformation, HealthState healthState, ServicePartitionStatus partitionStatus)
 {
     this.ServiceKind          = serviceKind;
     this.PartitionInformation = partitionInformation;
     this.HealthState          = healthState;
     this.PartitionStatus      = partitionStatus;
 }