diff options
12 files changed, 75 insertions, 958 deletions
diff --git a/config-provisioning/abi-spec.json b/config-provisioning/abi-spec.json index 853fe4b11ed..9e26dfeeb6e 100644 --- a/config-provisioning/abi-spec.json +++ b/config-provisioning/abi-spec.json @@ -1,875 +1 @@ -{ - "com.yahoo.config.provision.AllocatedHosts": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public static com.yahoo.config.provision.AllocatedHosts withHosts(java.util.Set)", - "public java.util.Set getHosts()", - "public boolean equals(java.lang.Object)", - "public int hashCode()", - "public java.lang.String toString()" - ], - "fields": [] - }, - "com.yahoo.config.provision.ApplicationId$Builder": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public void <init>()", - "public com.yahoo.config.provision.ApplicationId$Builder tenant(com.yahoo.config.provision.TenantName)", - "public com.yahoo.config.provision.ApplicationId$Builder tenant(java.lang.String)", - "public com.yahoo.config.provision.ApplicationId$Builder applicationName(com.yahoo.config.provision.ApplicationName)", - "public com.yahoo.config.provision.ApplicationId$Builder applicationName(java.lang.String)", - "public com.yahoo.config.provision.ApplicationId$Builder instanceName(com.yahoo.config.provision.InstanceName)", - "public com.yahoo.config.provision.ApplicationId$Builder instanceName(java.lang.String)", - "public com.yahoo.config.provision.ApplicationId build()" - ], - "fields": [] - }, - "com.yahoo.config.provision.ApplicationId": { - "superClass": "java.lang.Object", - "interfaces": [ - "java.lang.Comparable" - ], - "attributes": [ - "public", - "final" - ], - "methods": [ - "public void <init>(com.yahoo.cloud.config.ApplicationIdConfig)", - "public static com.yahoo.config.provision.ApplicationId from(com.yahoo.config.provision.TenantName, com.yahoo.config.provision.ApplicationName, com.yahoo.config.provision.InstanceName)", - "public static com.yahoo.config.provision.ApplicationId from(java.lang.String, java.lang.String, java.lang.String)", - "public static com.yahoo.config.provision.ApplicationId fromSerializedForm(java.lang.String)", - "public int hashCode()", - "public boolean equals(java.lang.Object)", - "public java.lang.String serializedForm()", - "public java.lang.String toShortString()", - "public java.lang.String toFullString()", - "public java.lang.String toString()", - "public com.yahoo.config.provision.TenantName tenant()", - "public com.yahoo.config.provision.ApplicationName application()", - "public com.yahoo.config.provision.InstanceName instance()", - "public int compareTo(com.yahoo.config.provision.ApplicationId)", - "public static com.yahoo.config.provision.ApplicationId defaultId()", - "public static com.yahoo.config.provision.ApplicationId global()", - "public bridge synthetic int compareTo(java.lang.Object)" - ], - "fields": [] - }, - "com.yahoo.config.provision.ApplicationLockException": { - "superClass": "java.lang.RuntimeException", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public void <init>(java.lang.Exception)" - ], - "fields": [] - }, - "com.yahoo.config.provision.ApplicationName": { - "superClass": "java.lang.Object", - "interfaces": [ - "java.lang.Comparable" - ], - "attributes": [ - "public" - ], - "methods": [ - "public int hashCode()", - "public boolean equals(java.lang.Object)", - "public java.lang.String toString()", - "public static com.yahoo.config.provision.ApplicationName from(java.lang.String)", - "public static com.yahoo.config.provision.ApplicationName defaultName()", - "public boolean isDefault()", - "public java.lang.String value()", - "public int compareTo(com.yahoo.config.provision.ApplicationName)", - "public bridge synthetic int compareTo(java.lang.Object)" - ], - "fields": [] - }, - "com.yahoo.config.provision.AthenzDomain": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public static com.yahoo.config.provision.AthenzDomain from(java.lang.String)", - "public java.lang.String value()", - "public java.lang.String toString()", - "public boolean equals(java.lang.Object)", - "public int hashCode()" - ], - "fields": [] - }, - "com.yahoo.config.provision.AthenzService": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public java.lang.String value()", - "public static com.yahoo.config.provision.AthenzService from(java.lang.String)", - "public java.lang.String toString()", - "public boolean equals(java.lang.Object)", - "public int hashCode()" - ], - "fields": [] - }, - "com.yahoo.config.provision.Capacity": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public", - "final" - ], - "methods": [ - "public int nodeCount()", - "public java.util.Optional flavor()", - "public java.util.Optional nodeResources()", - "public boolean isRequired()", - "public boolean canFail()", - "public com.yahoo.config.provision.NodeType type()", - "public java.lang.String toString()", - "public static com.yahoo.config.provision.Capacity fromNodeCount(int)", - "public static com.yahoo.config.provision.Capacity fromCount(int, com.yahoo.config.provision.NodeResources)", - "public static com.yahoo.config.provision.Capacity fromCount(int, com.yahoo.config.provision.NodeResources, boolean, boolean)", - "public static com.yahoo.config.provision.Capacity fromCount(int, java.util.Optional, boolean, boolean)", - "public static com.yahoo.config.provision.Capacity fromRequiredNodeType(com.yahoo.config.provision.NodeType)" - ], - "fields": [] - }, - "com.yahoo.config.provision.CertificateNotReadyException": { - "superClass": "com.yahoo.config.provision.TransientException", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public void <init>(java.lang.String)" - ], - "fields": [] - }, - "com.yahoo.config.provision.CloudName": { - "superClass": "java.lang.Object", - "interfaces": [ - "java.lang.Comparable" - ], - "attributes": [ - "public" - ], - "methods": [ - "public java.lang.String value()", - "public boolean isDefault()", - "public static com.yahoo.config.provision.CloudName defaultName()", - "public static com.yahoo.config.provision.CloudName from(java.lang.String)", - "public boolean equals(java.lang.Object)", - "public int hashCode()", - "public java.lang.String toString()", - "public int compareTo(com.yahoo.config.provision.CloudName)", - "public bridge synthetic int compareTo(java.lang.Object)" - ], - "fields": [] - }, - "com.yahoo.config.provision.ClusterMembership": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "protected void <init>()", - "protected java.lang.String toStringValue()", - "public com.yahoo.config.provision.ClusterSpec cluster()", - "public int index()", - "public boolean retired()", - "public com.yahoo.config.provision.ClusterMembership retire()", - "public com.yahoo.config.provision.ClusterMembership unretire()", - "public com.yahoo.config.provision.ClusterMembership with(com.yahoo.config.provision.ClusterSpec)", - "public java.lang.String stringValue()", - "public int hashCode()", - "public boolean equals(java.lang.Object)", - "public java.lang.String toString()", - "public static com.yahoo.config.provision.ClusterMembership from(java.lang.String, com.yahoo.component.Version)", - "public static com.yahoo.config.provision.ClusterMembership from(java.lang.String, com.yahoo.component.Version, java.util.Optional)", - "public static com.yahoo.config.provision.ClusterMembership from(com.yahoo.config.provision.ClusterSpec, int)", - "public static com.yahoo.config.provision.ClusterMembership retiredFrom(com.yahoo.config.provision.ClusterSpec, int)" - ], - "fields": [] - }, - "com.yahoo.config.provision.ClusterSpec$Builder": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public com.yahoo.config.provision.ClusterSpec build()", - "public com.yahoo.config.provision.ClusterSpec$Builder group(com.yahoo.config.provision.ClusterSpec$Group)", - "public com.yahoo.config.provision.ClusterSpec$Builder vespaVersion(com.yahoo.component.Version)", - "public com.yahoo.config.provision.ClusterSpec$Builder vespaVersion(java.lang.String)", - "public com.yahoo.config.provision.ClusterSpec$Builder exclusive(boolean)", - "public com.yahoo.config.provision.ClusterSpec$Builder combinedId(java.util.Optional)", - "public com.yahoo.config.provision.ClusterSpec$Builder dockerImageRepo(java.util.Optional)" - ], - "fields": [] - }, - "com.yahoo.config.provision.ClusterSpec$Group": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public", - "final" - ], - "methods": [ - "public static com.yahoo.config.provision.ClusterSpec$Group from(int)", - "public int index()", - "public java.lang.String toString()", - "public boolean equals(java.lang.Object)", - "public int hashCode()" - ], - "fields": [] - }, - "com.yahoo.config.provision.ClusterSpec$Id": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public", - "final" - ], - "methods": [ - "public void <init>(java.lang.String)", - "public static com.yahoo.config.provision.ClusterSpec$Id from(java.lang.String)", - "public java.lang.String value()", - "public java.lang.String toString()", - "public boolean equals(java.lang.Object)", - "public int hashCode()" - ], - "fields": [] - }, - "com.yahoo.config.provision.ClusterSpec$Type": { - "superClass": "java.lang.Enum", - "interfaces": [], - "attributes": [ - "public", - "final", - "enum" - ], - "methods": [ - "public static com.yahoo.config.provision.ClusterSpec$Type[] values()", - "public static com.yahoo.config.provision.ClusterSpec$Type valueOf(java.lang.String)", - "public boolean isContent()", - "public boolean isContainer()", - "public static com.yahoo.config.provision.ClusterSpec$Type from(java.lang.String)" - ], - "fields": [ - "public static final enum com.yahoo.config.provision.ClusterSpec$Type admin", - "public static final enum com.yahoo.config.provision.ClusterSpec$Type container", - "public static final enum com.yahoo.config.provision.ClusterSpec$Type content", - "public static final enum com.yahoo.config.provision.ClusterSpec$Type combined" - ] - }, - "com.yahoo.config.provision.ClusterSpec": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public", - "final" - ], - "methods": [ - "public com.yahoo.config.provision.ClusterSpec$Type type()", - "public com.yahoo.config.provision.ClusterSpec$Id id()", - "public java.util.Optional dockerImageRepo()", - "public java.util.Optional dockerImage()", - "public com.yahoo.component.Version vespaVersion()", - "public java.util.Optional group()", - "public java.util.Optional combinedId()", - "public boolean isExclusive()", - "public com.yahoo.config.provision.ClusterSpec with(java.util.Optional)", - "public com.yahoo.config.provision.ClusterSpec exclusive(boolean)", - "public static com.yahoo.config.provision.ClusterSpec request(com.yahoo.config.provision.ClusterSpec$Type, com.yahoo.config.provision.ClusterSpec$Id, com.yahoo.component.Version, boolean, java.util.Optional)", - "public static com.yahoo.config.provision.ClusterSpec request(com.yahoo.config.provision.ClusterSpec$Type, com.yahoo.config.provision.ClusterSpec$Id, com.yahoo.component.Version, boolean, java.util.Optional, java.util.Optional)", - "public static com.yahoo.config.provision.ClusterSpec from(com.yahoo.config.provision.ClusterSpec$Type, com.yahoo.config.provision.ClusterSpec$Id, com.yahoo.config.provision.ClusterSpec$Group, com.yahoo.component.Version, boolean, java.util.Optional)", - "public static com.yahoo.config.provision.ClusterSpec from(com.yahoo.config.provision.ClusterSpec$Type, com.yahoo.config.provision.ClusterSpec$Id, com.yahoo.config.provision.ClusterSpec$Group, com.yahoo.component.Version, boolean, java.util.Optional, java.util.Optional)", - "public static com.yahoo.config.provision.ClusterSpec$Builder request(com.yahoo.config.provision.ClusterSpec$Type, com.yahoo.config.provision.ClusterSpec$Id)", - "public static com.yahoo.config.provision.ClusterSpec$Builder specification(com.yahoo.config.provision.ClusterSpec$Type, com.yahoo.config.provision.ClusterSpec$Id)", - "public java.lang.String toString()", - "public int hashCode()", - "public boolean equals(java.lang.Object)", - "public boolean satisfies(com.yahoo.config.provision.ClusterSpec)" - ], - "fields": [] - }, - "com.yahoo.config.provision.Deployer": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public", - "interface", - "abstract" - ], - "methods": [ - "public java.util.Optional deployFromLocalActive(com.yahoo.config.provision.ApplicationId)", - "public abstract java.util.Optional deployFromLocalActive(com.yahoo.config.provision.ApplicationId, boolean)", - "public java.util.Optional deployFromLocalActive(com.yahoo.config.provision.ApplicationId, java.time.Duration)", - "public abstract java.util.Optional deployFromLocalActive(com.yahoo.config.provision.ApplicationId, java.time.Duration, boolean)", - "public abstract java.util.Optional lastDeployTime(com.yahoo.config.provision.ApplicationId)" - ], - "fields": [] - }, - "com.yahoo.config.provision.Deployment": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public", - "interface", - "abstract" - ], - "methods": [ - "public abstract void prepare()", - "public abstract void activate()", - "public abstract void restart(com.yahoo.config.provision.HostFilter)" - ], - "fields": [] - }, - "com.yahoo.config.provision.DockerImage": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public java.lang.String repository()", - "public java.util.Optional tag()", - "public com.yahoo.component.Version tagAsVersion()", - "public com.yahoo.config.provision.DockerImage withTag(com.yahoo.component.Version)", - "public java.lang.String asString()", - "public java.lang.String toString()", - "public boolean equals(java.lang.Object)", - "public int hashCode()", - "public static com.yahoo.config.provision.DockerImage fromString(java.lang.String)" - ], - "fields": [ - "public static final com.yahoo.config.provision.DockerImage EMPTY" - ] - }, - "com.yahoo.config.provision.Environment": { - "superClass": "java.lang.Enum", - "interfaces": [], - "attributes": [ - "public", - "final", - "enum" - ], - "methods": [ - "public static com.yahoo.config.provision.Environment[] values()", - "public static com.yahoo.config.provision.Environment valueOf(java.lang.String)", - "public boolean isManuallyDeployed()", - "public boolean isTest()", - "public boolean isProduction()", - "public boolean isMultiRegion()", - "public static com.yahoo.config.provision.Environment defaultEnvironment()", - "public static com.yahoo.config.provision.Environment from(java.lang.String)", - "public java.lang.String value()" - ], - "fields": [ - "public static final enum com.yahoo.config.provision.Environment prod", - "public static final enum com.yahoo.config.provision.Environment staging", - "public static final enum com.yahoo.config.provision.Environment test", - "public static final enum com.yahoo.config.provision.Environment dev", - "public static final enum com.yahoo.config.provision.Environment perf" - ] - }, - "com.yahoo.config.provision.Flavor$Type": { - "superClass": "java.lang.Enum", - "interfaces": [], - "attributes": [ - "public", - "final", - "enum" - ], - "methods": [ - "public static com.yahoo.config.provision.Flavor$Type[] values()", - "public static com.yahoo.config.provision.Flavor$Type valueOf(java.lang.String)" - ], - "fields": [ - "public static final enum com.yahoo.config.provision.Flavor$Type undefined", - "public static final enum com.yahoo.config.provision.Flavor$Type BARE_METAL", - "public static final enum com.yahoo.config.provision.Flavor$Type VIRTUAL_MACHINE", - "public static final enum com.yahoo.config.provision.Flavor$Type DOCKER_CONTAINER" - ] - }, - "com.yahoo.config.provision.Flavor": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public void <init>(com.yahoo.config.provisioning.FlavorsConfig$Flavor)", - "public void <init>(com.yahoo.config.provision.NodeResources)", - "public void <init>(java.lang.String, com.yahoo.config.provision.NodeResources)", - "public com.yahoo.config.provision.Flavor with(com.yahoo.config.provision.host.FlavorOverrides)", - "public com.yahoo.config.provision.Flavor with(com.yahoo.config.provision.NodeResources)", - "public java.lang.String name()", - "public int cost()", - "public boolean isConfigured()", - "public com.yahoo.config.provision.NodeResources resources()", - "public java.util.Optional flavorOverrides()", - "public double getMinMainMemoryAvailableGb()", - "public double getMinDiskAvailableGb()", - "public boolean hasFastDisk()", - "public double getBandwidthGbps()", - "public double getMinCpuCores()", - "public com.yahoo.config.provision.Flavor$Type getType()", - "public boolean isDocker()", - "public int hashCode()", - "public boolean equals(java.lang.Object)", - "public java.lang.String toString()" - ], - "fields": [] - }, - "com.yahoo.config.provision.HostFilter": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public boolean matches(java.lang.String, java.lang.String, java.util.Optional)", - "public static com.yahoo.config.provision.HostFilter all()", - "public static com.yahoo.config.provision.HostFilter hostname(java.lang.String)", - "public static com.yahoo.config.provision.HostFilter flavor(java.lang.String)", - "public static com.yahoo.config.provision.HostFilter clusterType(com.yahoo.config.provision.ClusterSpec$Type)", - "public static com.yahoo.config.provision.HostFilter clusterId(com.yahoo.config.provision.ClusterSpec$Id)", - "public static com.yahoo.config.provision.HostFilter from(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection)", - "public static com.yahoo.config.provision.HostFilter from(java.lang.String, java.lang.String, java.lang.String, java.lang.String)" - ], - "fields": [] - }, - "com.yahoo.config.provision.HostLivenessTracker": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public", - "interface", - "abstract" - ], - "methods": [ - "public abstract void receivedRequestFrom(java.lang.String)", - "public abstract java.util.Optional lastRequestFrom(java.lang.String)" - ], - "fields": [] - }, - "com.yahoo.config.provision.HostName": { - "superClass": "java.lang.Object", - "interfaces": [ - "java.lang.Comparable" - ], - "attributes": [ - "public" - ], - "methods": [ - "public java.lang.String value()", - "public static com.yahoo.config.provision.HostName from(java.lang.String)", - "public int hashCode()", - "public boolean equals(java.lang.Object)", - "public java.lang.String toString()", - "public int compareTo(com.yahoo.config.provision.HostName)", - "public bridge synthetic int compareTo(java.lang.Object)" - ], - "fields": [] - }, - "com.yahoo.config.provision.HostSpec": { - "superClass": "java.lang.Object", - "interfaces": [ - "java.lang.Comparable" - ], - "attributes": [ - "public" - ], - "methods": [ - "public void <init>(java.lang.String, java.util.Optional)", - "public void <init>(java.lang.String, com.yahoo.config.provision.ClusterMembership, com.yahoo.config.provision.Flavor, java.util.Optional)", - "public void <init>(java.lang.String, java.util.List)", - "public void <init>(java.lang.String, java.util.List, com.yahoo.config.provision.Flavor)", - "public void <init>(java.lang.String, java.util.List, com.yahoo.config.provision.ClusterMembership)", - "public void <init>(java.lang.String, java.util.List, java.util.Optional, java.util.Optional)", - "public void <init>(java.lang.String, java.util.List, java.util.Optional, java.util.Optional, java.util.Optional)", - "public void <init>(java.lang.String, java.util.List, java.util.Optional, java.util.Optional, java.util.Optional, java.util.Optional)", - "public void <init>(java.lang.String, java.util.List, java.util.Optional, java.util.Optional, java.util.Optional, java.util.Optional, java.util.Optional)", - "public void <init>(java.lang.String, java.util.List, java.util.Optional, java.util.Optional, java.util.Optional, java.util.Optional, java.util.Optional, java.util.Optional)", - "public java.lang.String hostname()", - "public java.util.List aliases()", - "public java.util.Optional flavor()", - "public java.util.Optional version()", - "public java.util.Optional membership()", - "public java.util.Optional networkPorts()", - "public java.util.Optional requestedResources()", - "public java.util.Optional dockerImageRepo()", - "public com.yahoo.config.provision.HostSpec withPorts(java.util.Optional)", - "public java.lang.String toString()", - "public boolean equals(java.lang.Object)", - "public int hashCode()", - "public int compareTo(com.yahoo.config.provision.HostSpec)", - "public bridge synthetic int compareTo(java.lang.Object)" - ], - "fields": [] - }, - "com.yahoo.config.provision.InfraDeployer": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public", - "interface", - "abstract" - ], - "methods": [ - "public abstract java.util.Optional getDeployment(com.yahoo.config.provision.ApplicationId)", - "public abstract void activateAllSupportedInfraApplications(boolean)" - ], - "fields": [] - }, - "com.yahoo.config.provision.InstanceName": { - "superClass": "java.lang.Object", - "interfaces": [ - "java.lang.Comparable" - ], - "attributes": [ - "public" - ], - "methods": [ - "public int hashCode()", - "public boolean equals(java.lang.Object)", - "public java.lang.String toString()", - "public static com.yahoo.config.provision.InstanceName from(java.lang.String)", - "public static com.yahoo.config.provision.InstanceName defaultName()", - "public boolean isDefault()", - "public boolean isTester()", - "public java.lang.String value()", - "public int compareTo(com.yahoo.config.provision.InstanceName)", - "public bridge synthetic int compareTo(java.lang.Object)" - ], - "fields": [] - }, - "com.yahoo.config.provision.NetworkPorts$Allocation": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public void <init>(int, java.lang.String, java.lang.String, java.lang.String)", - "public java.lang.String key()", - "public java.lang.String toString()", - "public int hashCode()", - "public boolean equals(java.lang.Object)" - ], - "fields": [ - "public final int port", - "public final java.lang.String serviceType", - "public final java.lang.String configId", - "public final java.lang.String portSuffix" - ] - }, - "com.yahoo.config.provision.NetworkPorts": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public void <init>(java.util.Collection)", - "public java.util.Collection allocations()", - "public int size()", - "public int hashCode()", - "public boolean equals(java.lang.Object)" - ], - "fields": [] - }, - "com.yahoo.config.provision.NodeFlavors": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public void <init>(com.yahoo.config.provisioning.FlavorsConfig)", - "public java.util.List getFlavors()", - "public java.util.Optional getFlavor(java.lang.String)", - "public com.yahoo.config.provision.Flavor getFlavorOrThrow(java.lang.String)", - "public boolean exists(java.lang.String)" - ], - "fields": [] - }, - "com.yahoo.config.provision.NodeResources$DiskSpeed": { - "superClass": "java.lang.Enum", - "interfaces": [], - "attributes": [ - "public", - "final", - "enum" - ], - "methods": [ - "public static com.yahoo.config.provision.NodeResources$DiskSpeed[] values()", - "public static com.yahoo.config.provision.NodeResources$DiskSpeed valueOf(java.lang.String)", - "public static int compare(com.yahoo.config.provision.NodeResources$DiskSpeed, com.yahoo.config.provision.NodeResources$DiskSpeed)", - "public boolean compatibleWith(com.yahoo.config.provision.NodeResources$DiskSpeed)", - "public boolean isDefault()", - "public static com.yahoo.config.provision.NodeResources$DiskSpeed getDefault()" - ], - "fields": [ - "public static final enum com.yahoo.config.provision.NodeResources$DiskSpeed fast", - "public static final enum com.yahoo.config.provision.NodeResources$DiskSpeed slow", - "public static final enum com.yahoo.config.provision.NodeResources$DiskSpeed any" - ] - }, - "com.yahoo.config.provision.NodeResources$StorageType": { - "superClass": "java.lang.Enum", - "interfaces": [], - "attributes": [ - "public", - "final", - "enum" - ], - "methods": [ - "public static com.yahoo.config.provision.NodeResources$StorageType[] values()", - "public static com.yahoo.config.provision.NodeResources$StorageType valueOf(java.lang.String)", - "public static int compare(com.yahoo.config.provision.NodeResources$StorageType, com.yahoo.config.provision.NodeResources$StorageType)", - "public boolean compatibleWith(com.yahoo.config.provision.NodeResources$StorageType)", - "public boolean isDefault()", - "public static com.yahoo.config.provision.NodeResources$StorageType getDefault()" - ], - "fields": [ - "public static final enum com.yahoo.config.provision.NodeResources$StorageType remote", - "public static final enum com.yahoo.config.provision.NodeResources$StorageType local", - "public static final enum com.yahoo.config.provision.NodeResources$StorageType any" - ] - }, - "com.yahoo.config.provision.NodeResources": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public void <init>(double, double, double, double)", - "public void <init>(double, double, double, double, com.yahoo.config.provision.NodeResources$DiskSpeed)", - "public void <init>(double, double, double, double, com.yahoo.config.provision.NodeResources$DiskSpeed, com.yahoo.config.provision.NodeResources$StorageType)", - "public double vcpu()", - "public double memoryGb()", - "public double diskGb()", - "public double bandwidthGbps()", - "public com.yahoo.config.provision.NodeResources$DiskSpeed diskSpeed()", - "public com.yahoo.config.provision.NodeResources$StorageType storageType()", - "public com.yahoo.config.provision.NodeResources withVcpu(double)", - "public com.yahoo.config.provision.NodeResources withMemoryGb(double)", - "public com.yahoo.config.provision.NodeResources withDiskGb(double)", - "public com.yahoo.config.provision.NodeResources withBandwidthGbps(double)", - "public com.yahoo.config.provision.NodeResources with(com.yahoo.config.provision.NodeResources$DiskSpeed)", - "public com.yahoo.config.provision.NodeResources with(com.yahoo.config.provision.NodeResources$StorageType)", - "public com.yahoo.config.provision.NodeResources justNumbers()", - "public com.yahoo.config.provision.NodeResources subtract(com.yahoo.config.provision.NodeResources)", - "public com.yahoo.config.provision.NodeResources add(com.yahoo.config.provision.NodeResources)", - "public boolean equals(java.lang.Object)", - "public int hashCode()", - "public java.lang.String toString()", - "public boolean satisfies(com.yahoo.config.provision.NodeResources)", - "public boolean compatibleWith(com.yahoo.config.provision.NodeResources)", - "public static com.yahoo.config.provision.NodeResources fromLegacyName(java.lang.String)" - ], - "fields": [] - }, - "com.yahoo.config.provision.NodeType": { - "superClass": "java.lang.Enum", - "interfaces": [], - "attributes": [ - "public", - "final", - "enum" - ], - "methods": [ - "public static com.yahoo.config.provision.NodeType[] values()", - "public static com.yahoo.config.provision.NodeType valueOf(java.lang.String)", - "public boolean isDockerHost()", - "public java.lang.String description()", - "public com.yahoo.config.provision.NodeType childNodeType()", - "public java.util.List childNodeTypes()", - "public boolean canRun(com.yahoo.config.provision.NodeType)" - ], - "fields": [ - "public static final enum com.yahoo.config.provision.NodeType tenant", - "public static final enum com.yahoo.config.provision.NodeType host", - "public static final enum com.yahoo.config.provision.NodeType proxy", - "public static final enum com.yahoo.config.provision.NodeType proxyhost", - "public static final enum com.yahoo.config.provision.NodeType config", - "public static final enum com.yahoo.config.provision.NodeType confighost", - "public static final enum com.yahoo.config.provision.NodeType controller", - "public static final enum com.yahoo.config.provision.NodeType controllerhost", - "public static final enum com.yahoo.config.provision.NodeType devhost" - ] - }, - "com.yahoo.config.provision.OutOfCapacityException": { - "superClass": "java.lang.RuntimeException", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public void <init>(java.lang.String)" - ], - "fields": [] - }, - "com.yahoo.config.provision.ParentHostUnavailableException": { - "superClass": "com.yahoo.config.provision.TransientException", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public void <init>(java.lang.String)" - ], - "fields": [] - }, - "com.yahoo.config.provision.ProvisionLogger": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public", - "interface", - "abstract" - ], - "methods": [ - "public abstract void log(java.util.logging.Level, java.lang.String)" - ], - "fields": [] - }, - "com.yahoo.config.provision.Provisioner": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public", - "interface", - "abstract" - ], - "methods": [ - "public abstract java.util.List prepare(com.yahoo.config.provision.ApplicationId, com.yahoo.config.provision.ClusterSpec, com.yahoo.config.provision.Capacity, int, com.yahoo.config.provision.ProvisionLogger)", - "public abstract void activate(com.yahoo.transaction.NestedTransaction, com.yahoo.config.provision.ApplicationId, java.util.Collection)", - "public abstract void remove(com.yahoo.transaction.NestedTransaction, com.yahoo.config.provision.ApplicationId)", - "public abstract void restart(com.yahoo.config.provision.ApplicationId, com.yahoo.config.provision.HostFilter)" - ], - "fields": [] - }, - "com.yahoo.config.provision.RegionName": { - "superClass": "java.lang.Object", - "interfaces": [ - "java.lang.Comparable" - ], - "attributes": [ - "public" - ], - "methods": [ - "public int hashCode()", - "public boolean equals(java.lang.Object)", - "public java.lang.String toString()", - "public static com.yahoo.config.provision.RegionName from(java.lang.String)", - "public static com.yahoo.config.provision.RegionName defaultName()", - "public boolean isDefault()", - "public java.lang.String value()", - "public int compareTo(com.yahoo.config.provision.RegionName)", - "public bridge synthetic int compareTo(java.lang.Object)" - ], - "fields": [] - }, - "com.yahoo.config.provision.SystemName": { - "superClass": "java.lang.Enum", - "interfaces": [], - "attributes": [ - "public", - "final", - "enum" - ], - "methods": [ - "public static com.yahoo.config.provision.SystemName[] values()", - "public static com.yahoo.config.provision.SystemName valueOf(java.lang.String)", - "public static com.yahoo.config.provision.SystemName defaultSystem()", - "public static com.yahoo.config.provision.SystemName from(java.lang.String)", - "public java.lang.String value()", - "public boolean isPublic()", - "public boolean isCd()", - "public static java.util.Set all()", - "public static java.util.Set allOf(java.util.function.Predicate)" - ], - "fields": [ - "public static final enum com.yahoo.config.provision.SystemName cd", - "public static final enum com.yahoo.config.provision.SystemName main", - "public static final enum com.yahoo.config.provision.SystemName Public", - "public static final enum com.yahoo.config.provision.SystemName PublicCd", - "public static final enum com.yahoo.config.provision.SystemName dev" - ] - }, - "com.yahoo.config.provision.TenantName": { - "superClass": "java.lang.Object", - "interfaces": [ - "java.lang.Comparable" - ], - "attributes": [ - "public" - ], - "methods": [ - "public java.lang.String value()", - "public static com.yahoo.config.provision.TenantName from(java.lang.String)", - "public int hashCode()", - "public boolean equals(java.lang.Object)", - "public java.lang.String toString()", - "public static com.yahoo.config.provision.TenantName defaultName()", - "public int compareTo(com.yahoo.config.provision.TenantName)", - "public bridge synthetic int compareTo(java.lang.Object)" - ], - "fields": [] - }, - "com.yahoo.config.provision.TransientException": { - "superClass": "java.lang.RuntimeException", - "interfaces": [], - "attributes": [ - "public", - "abstract" - ], - "methods": [ - "public void <init>(java.lang.String)", - "public void <init>(java.lang.String, java.lang.Throwable)" - ], - "fields": [] - }, - "com.yahoo.config.provision.Zone": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public void <init>(com.yahoo.cloud.config.ConfigserverConfig, com.yahoo.config.provision.NodeFlavors)", - "public void <init>(com.yahoo.config.provision.Environment, com.yahoo.config.provision.RegionName)", - "public void <init>(com.yahoo.config.provision.SystemName, com.yahoo.config.provision.Environment, com.yahoo.config.provision.RegionName)", - "public void <init>(com.yahoo.config.provision.CloudName, com.yahoo.config.provision.SystemName, com.yahoo.config.provision.Environment, com.yahoo.config.provision.RegionName)", - "public com.yahoo.config.provision.CloudName cloud()", - "public com.yahoo.config.provision.SystemName system()", - "public com.yahoo.config.provision.Environment environment()", - "public com.yahoo.config.provision.RegionName region()", - "public java.util.Optional nodeFlavors()", - "public static com.yahoo.config.provision.Zone defaultZone()", - "public java.lang.String toString()", - "public boolean equals(java.lang.Object)", - "public int hashCode()" - ], - "fields": [] - } -}
\ No newline at end of file +{}
\ No newline at end of file diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/package-info.java b/config-provisioning/src/main/java/com/yahoo/config/provision/package-info.java index 208640033fc..c85c00d8ebe 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/package-info.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/package-info.java @@ -1,6 +1,5 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. @ExportPackage -@PublicApi package com.yahoo.config.provision; import com.yahoo.api.annotations.PublicApi; diff --git a/searchlib/src/vespa/searchlib/transactionlog/domainpart.cpp b/searchlib/src/vespa/searchlib/transactionlog/domainpart.cpp index 8a6e833bd1f..91599f8218a 100644 --- a/searchlib/src/vespa/searchlib/transactionlog/domainpart.cpp +++ b/searchlib/src/vespa/searchlib/transactionlog/domainpart.cpp @@ -315,6 +315,8 @@ DomainPart::DomainPart(const string & name, const string & baseDir, SerialNum s, handleSync(*_transLog); _writtenSerial = _range.to(); _syncedSerial = _writtenSerial; + assert(int64_t(byteSize()) == _transLog->GetSize()); + assert(int64_t(byteSize()) == _transLog->GetPosition()); } DomainPart::~DomainPart() @@ -402,7 +404,7 @@ DomainPart::erase(SerialNum to) void DomainPart::commit(SerialNum firstSerial, const Packet &packet) { - int64_t firstPos(_transLog->GetPosition()); + int64_t firstPos(byteSize()); nbostream_longlivedbuf h(packet.getHandle().data(), packet.getHandle().size()); if (_range.from() == 0) { _range.from(firstSerial); @@ -576,7 +578,7 @@ DomainPart::visit(FastOS_FileInterface &file, SerialNumRange &r, Packet &packet) void DomainPart::write(FastOS_FileInterface &file, const Packet::Entry &entry) { - int64_t lastKnownGoodPos(file.GetPosition()); + int64_t lastKnownGoodPos(byteSize()); int32_t crc(0); uint32_t len(entry.serializedSize() + sizeof(crc)); nbostream os; diff --git a/storage/src/vespa/storage/distributor/externaloperationhandler.cpp b/storage/src/vespa/storage/distributor/externaloperationhandler.cpp index b946b788391..7e8eaaff15e 100644 --- a/storage/src/vespa/storage/distributor/externaloperationhandler.cpp +++ b/storage/src/vespa/storage/distributor/externaloperationhandler.cpp @@ -241,7 +241,8 @@ void ExternalOperationHandler::bounce_or_invoke_read_only_op( IMPL_MSG_COMMAND_H(ExternalOperationHandler, Put) { - auto& metrics = getMetrics().puts[cmd->getLoadType()]; + const documentapi::LoadType & loadType = cmd->getLoadType(); + auto& metrics = getMetrics().puts[loadType]; if (!checkTimestampMutationPreconditions(*cmd, getBucketId(cmd->getDocumentId()), metrics)) { return true; } @@ -252,9 +253,10 @@ IMPL_MSG_COMMAND_H(ExternalOperationHandler, Put) auto handle = _mutationSequencer.try_acquire(cmd->getDocumentId()); if (allowMutation(handle)) { + document::BucketSpace bucketSpace = cmd->getBucket().getBucketSpace(); _op = std::make_shared<PutOperation>(*this, - _bucketSpaceRepo.get(cmd->getBucket().getBucketSpace()), - cmd, getMetrics().puts[cmd->getLoadType()], std::move(handle)); + _bucketSpaceRepo.get(bucketSpace), + std::move(cmd), getMetrics().puts[loadType], std::move(handle)); } else { sendUp(makeConcurrentMutationRejectionReply(*cmd, cmd->getDocumentId(), metrics)); } @@ -265,7 +267,8 @@ IMPL_MSG_COMMAND_H(ExternalOperationHandler, Put) IMPL_MSG_COMMAND_H(ExternalOperationHandler, Update) { - auto& metrics = getMetrics().updates[cmd->getLoadType()]; + const documentapi::LoadType & loadType = cmd->getLoadType(); + auto& metrics = getMetrics().updates[loadType]; if (!checkTimestampMutationPreconditions(*cmd, getBucketId(cmd->getDocumentId()), metrics)) { return true; } @@ -275,9 +278,10 @@ IMPL_MSG_COMMAND_H(ExternalOperationHandler, Update) } auto handle = _mutationSequencer.try_acquire(cmd->getDocumentId()); if (allowMutation(handle)) { + document::BucketSpace bucketSpace = cmd->getBucket().getBucketSpace(); _op = std::make_shared<TwoPhaseUpdateOperation>(*this, - _bucketSpaceRepo.get(cmd->getBucket().getBucketSpace()), - cmd, getMetrics(), std::move(handle)); + _bucketSpaceRepo.get(bucketSpace), + std::move(cmd), getMetrics(), std::move(handle)); } else { sendUp(makeConcurrentMutationRejectionReply(*cmd, cmd->getDocumentId(), metrics)); } @@ -288,7 +292,8 @@ IMPL_MSG_COMMAND_H(ExternalOperationHandler, Update) IMPL_MSG_COMMAND_H(ExternalOperationHandler, Remove) { - auto& metrics = getMetrics().removes[cmd->getLoadType()]; + const documentapi::LoadType & loadType = cmd->getLoadType(); + auto& metrics = getMetrics().removes[loadType]; if (!checkTimestampMutationPreconditions(*cmd, getBucketId(cmd->getDocumentId()), metrics)) { return true; } @@ -299,8 +304,9 @@ IMPL_MSG_COMMAND_H(ExternalOperationHandler, Remove) auto handle = _mutationSequencer.try_acquire(cmd->getDocumentId()); if (allowMutation(handle)) { auto &distributorBucketSpace(_bucketSpaceRepo.get(cmd->getBucket().getBucketSpace())); - _op = std::make_shared<RemoveOperation>(*this, distributorBucketSpace, cmd, - getMetrics().removes[cmd->getLoadType()], std::move(handle)); + + _op = std::make_shared<RemoveOperation>(*this, distributorBucketSpace, std::move(cmd), + getMetrics().removes[loadType], std::move(handle)); } else { sendUp(makeConcurrentMutationRejectionReply(*cmd, cmd->getDocumentId(), metrics)); } @@ -320,7 +326,7 @@ IMPL_MSG_COMMAND_H(ExternalOperationHandler, RemoveLocation) } _op = std::make_shared<RemoveLocationOperation>(*this, _bucketSpaceRepo.get(cmd->getBucket().getBucketSpace()), - cmd, getMetrics().removelocations[cmd->getLoadType()]); + std::move(cmd), getMetrics().removelocations[cmd->getLoadType()]); return true; } diff --git a/storage/src/vespa/storage/distributor/operations/external/removelocationoperation.cpp b/storage/src/vespa/storage/distributor/operations/external/removelocationoperation.cpp index 71d8f1b17ea..ca1b6f266d6 100644 --- a/storage/src/vespa/storage/distributor/operations/external/removelocationoperation.cpp +++ b/storage/src/vespa/storage/distributor/operations/external/removelocationoperation.cpp @@ -18,30 +18,28 @@ using document::BucketSpace; RemoveLocationOperation::RemoveLocationOperation( DistributorComponent& manager, DistributorBucketSpace &bucketSpace, - const std::shared_ptr<api::RemoveLocationCommand> & msg, + std::shared_ptr<api::RemoveLocationCommand> msg, PersistenceOperationMetricSet& metric) : Operation(), _trackerInstance(metric, - std::shared_ptr<api::BucketInfoReply>(new api::RemoveLocationReply(*msg)), + std::make_shared<api::RemoveLocationReply>(*msg), manager, 0), _tracker(_trackerInstance), - _msg(msg), + _msg(std::move(msg)), _manager(manager), _bucketSpace(bucketSpace) {} -RemoveLocationOperation::~RemoveLocationOperation() {} +RemoveLocationOperation::~RemoveLocationOperation() = default; int RemoveLocationOperation::getBucketId( DistributorComponent& manager, const api::RemoveLocationCommand& cmd, document::BucketId& bid) { - std::shared_ptr<const document::DocumentTypeRepo> repo = - manager.getTypeRepo(); - document::select::Parser parser( - *repo, manager.getBucketIdFactory()); + std::shared_ptr<const document::DocumentTypeRepo> repo = manager.getTypeRepo(); + document::select::Parser parser(*repo, manager.getBucketIdFactory()); document::BucketSelector bucketSel(manager.getBucketIdFactory()); std::unique_ptr<document::BucketSelector::BucketVector> exprResult diff --git a/storage/src/vespa/storage/distributor/operations/external/removelocationoperation.h b/storage/src/vespa/storage/distributor/operations/external/removelocationoperation.h index 64aeb19bae9..bad55497fa1 100644 --- a/storage/src/vespa/storage/distributor/operations/external/removelocationoperation.h +++ b/storage/src/vespa/storage/distributor/operations/external/removelocationoperation.h @@ -17,9 +17,9 @@ class RemoveLocationOperation : public Operation public: RemoveLocationOperation(DistributorComponent& manager, DistributorBucketSpace &bucketSpace, - const std::shared_ptr<api::RemoveLocationCommand> & msg, + std::shared_ptr<api::RemoveLocationCommand> msg, PersistenceOperationMetricSet& metric); - ~RemoveLocationOperation(); + ~RemoveLocationOperation() override; static int getBucketId(DistributorComponent& manager, diff --git a/storage/src/vespa/storage/distributor/operations/external/removeoperation.cpp b/storage/src/vespa/storage/distributor/operations/external/removeoperation.cpp index 0ad3d282cc1..9211e75ca80 100644 --- a/storage/src/vespa/storage/distributor/operations/external/removeoperation.cpp +++ b/storage/src/vespa/storage/distributor/operations/external/removeoperation.cpp @@ -13,21 +13,21 @@ using document::BucketSpace; RemoveOperation::RemoveOperation(DistributorComponent& manager, DistributorBucketSpace &bucketSpace, - const std::shared_ptr<api::RemoveCommand> & msg, + std::shared_ptr<api::RemoveCommand> msg, PersistenceOperationMetricSet& metric, SequencingHandle sequencingHandle) : SequencedOperation(std::move(sequencingHandle)), _trackerInstance(metric, - std::shared_ptr<api::BucketInfoReply>(new api::RemoveReply(*msg)), + std::make_shared<api::RemoveReply>(*msg), manager, msg->getTimestamp()), _tracker(_trackerInstance), - _msg(msg), + _msg(std::move(msg)), _manager(manager), _bucketSpace(bucketSpace) { } -RemoveOperation::~RemoveOperation() {} +RemoveOperation::~RemoveOperation() = default; void RemoveOperation::onStart(DistributorMessageSender& sender) @@ -43,22 +43,19 @@ RemoveOperation::onStart(DistributorMessageSender& sender) bool sent = false; - for (uint32_t j = 0; j < entries.size(); j++) { - const BucketDatabase::Entry& e = entries[j]; + for (const BucketDatabase::Entry& e : entries) { std::vector<MessageTracker::ToSend> messages; - + messages.reserve(e->getNodeCount()); for (uint32_t i = 0; i < e->getNodeCount(); i++) { - std::shared_ptr<api::RemoveCommand> command(new api::RemoveCommand( - document::Bucket(_msg->getBucket().getBucketSpace(), e.getBucketId()), - _msg->getDocumentId(), - _msg->getTimestamp())); + auto command = std::make_shared<api::RemoveCommand>(document::Bucket(_msg->getBucket().getBucketSpace(), e.getBucketId()), + _msg->getDocumentId(), + _msg->getTimestamp()); copyMessageSettings(*_msg, *command); command->getTrace().setLevel(_msg->getTrace().getLevel()); command->setCondition(_msg->getCondition()); - messages.push_back( - MessageTracker::ToSend(command, e->getNodeRef(i).getNode())); + messages.emplace_back(std::move(command), e->getNodeRef(i).getNode()); sent = true; } diff --git a/storage/src/vespa/storage/distributor/operations/external/removeoperation.h b/storage/src/vespa/storage/distributor/operations/external/removeoperation.h index 7794be73ac8..90e7ac94f0a 100644 --- a/storage/src/vespa/storage/distributor/operations/external/removeoperation.h +++ b/storage/src/vespa/storage/distributor/operations/external/removeoperation.h @@ -17,10 +17,10 @@ class RemoveOperation : public SequencedOperation public: RemoveOperation(DistributorComponent& manager, DistributorBucketSpace &bucketSpace, - const std::shared_ptr<api::RemoveCommand> & msg, + std::shared_ptr<api::RemoveCommand> msg, PersistenceOperationMetricSet& metric, SequencingHandle sequencingHandle = SequencingHandle()); - ~RemoveOperation(); + ~RemoveOperation() override; void onStart(DistributorMessageSender& sender) override; const char* getName() const override { return "remove"; }; diff --git a/storage/src/vespa/storage/distributor/operations/external/twophaseupdateoperation.cpp b/storage/src/vespa/storage/distributor/operations/external/twophaseupdateoperation.cpp index dd8f8b553fc..706b7a447bf 100644 --- a/storage/src/vespa/storage/distributor/operations/external/twophaseupdateoperation.cpp +++ b/storage/src/vespa/storage/distributor/operations/external/twophaseupdateoperation.cpp @@ -22,14 +22,14 @@ namespace storage::distributor { TwoPhaseUpdateOperation::TwoPhaseUpdateOperation( DistributorComponent& manager, DistributorBucketSpace &bucketSpace, - const std::shared_ptr<api::UpdateCommand>& msg, + std::shared_ptr<api::UpdateCommand> msg, DistributorMetricSet& metrics, SequencingHandle sequencingHandle) : SequencedOperation(std::move(sequencingHandle)), _updateMetric(metrics.updates[msg->getLoadType()]), _putMetric(metrics.update_puts[msg->getLoadType()]), _getMetric(metrics.update_gets[msg->getLoadType()]), - _updateCmd(msg), + _updateCmd(std::move(msg)), _updateReply(), _manager(manager), _bucketSpace(bucketSpace), diff --git a/storage/src/vespa/storage/distributor/operations/external/twophaseupdateoperation.h b/storage/src/vespa/storage/distributor/operations/external/twophaseupdateoperation.h index f714232b427..4a2f83010c7 100644 --- a/storage/src/vespa/storage/distributor/operations/external/twophaseupdateoperation.h +++ b/storage/src/vespa/storage/distributor/operations/external/twophaseupdateoperation.h @@ -56,7 +56,7 @@ class TwoPhaseUpdateOperation : public SequencedOperation public: TwoPhaseUpdateOperation(DistributorComponent& manager, DistributorBucketSpace &bucketSpace, - const std::shared_ptr<api::UpdateCommand> & msg, + std::shared_ptr<api::UpdateCommand> msg, DistributorMetricSet& metrics, SequencingHandle sequencingHandle = SequencingHandle()); ~TwoPhaseUpdateOperation() override; diff --git a/storage/src/vespa/storage/distributor/persistencemessagetracker.cpp b/storage/src/vespa/storage/distributor/persistencemessagetracker.cpp index 060eda2ffc5..4e2253ab2fe 100644 --- a/storage/src/vespa/storage/distributor/persistencemessagetracker.cpp +++ b/storage/src/vespa/storage/distributor/persistencemessagetracker.cpp @@ -20,33 +20,26 @@ PersistenceMessageTrackerImpl::PersistenceMessageTrackerImpl( api::Timestamp revertTimestamp) : MessageTracker(link.getClusterName()), _metric(metric), - _reply(reply), + _reply(std::move(reply)), _manager(link), _revertTimestamp(revertTimestamp), _requestTimer(link.getClock()), - _priority(reply->getPriority()), + _priority(_reply->getPriority()), _success(true) { } -PersistenceMessageTrackerImpl::~PersistenceMessageTrackerImpl() {} +PersistenceMessageTrackerImpl::~PersistenceMessageTrackerImpl() = default; void PersistenceMessageTrackerImpl::updateDB() { - for (BucketInfoMap::iterator iter = _bucketInfo.begin(); - iter != _bucketInfo.end(); - iter++) - { - _manager.updateBucketDatabase(iter->first, iter->second); + for (const auto & entry : _bucketInfo) { + _manager.updateBucketDatabase(entry.first, entry.second); } - for (BucketInfoMap::iterator iter = _remapBucketInfo.begin(); - iter != _remapBucketInfo.end(); - iter++) - { - _manager.updateBucketDatabase(iter->first, iter->second, - DatabaseUpdate::CREATE_IF_NONEXISTING); + for (const auto & entry : _remapBucketInfo){ + _manager.updateBucketDatabase(entry.first, entry.second,DatabaseUpdate::CREATE_IF_NONEXISTING); } } @@ -94,11 +87,10 @@ PersistenceMessageTrackerImpl::revert( std::vector<api::Timestamp> reverts; reverts.push_back(_revertTimestamp); - for (uint32_t i = 0; i < revertNodes.size(); i++) { - std::shared_ptr<api::RevertCommand> toRevert( - new api::RevertCommand(revertNodes[i].first, reverts)); + for (const auto & revertNode : revertNodes) { + auto toRevert = std::make_shared<api::RevertCommand>(revertNode.first, reverts); toRevert->setPriority(_priority); - queueCommand(toRevert, revertNodes[i].second); + queueCommand(std::move(toRevert), revertNode.second); } flushQueue(sender); @@ -107,14 +99,14 @@ PersistenceMessageTrackerImpl::revert( void PersistenceMessageTrackerImpl::queueMessageBatch(const std::vector<MessageTracker::ToSend>& messages) { - _messageBatches.push_back(MessageBatch()); - for (uint32_t i = 0; i < messages.size(); i++) { - if (_reply.get()) { - messages[i]._msg->getTrace().setLevel(_reply->getTrace().getLevel()); + _messageBatches.emplace_back(); + for (const auto & message : messages) { + if (_reply) { + message._msg->getTrace().setLevel(_reply->getTrace().getLevel()); } - _messageBatches.back().push_back(messages[i]._msg->getMsgId()); - queueCommand(messages[i]._msg, messages[i]._target); + _messageBatches.back().push_back(message._msg->getMsgId()); + queueCommand(message._msg, message._target); } } @@ -134,13 +126,13 @@ PersistenceMessageTrackerImpl::canSendReplyEarly() const return false; } - for (uint32_t i = 0; i < _messageBatches.size(); i++) { + for (const MessageBatch & batch : _messageBatches) { uint32_t messagesDone = 0; - for (uint32_t j = 0; j < _messageBatches[i].size(); j++) { - if (_sentMessages.find(_messageBatches[i][j]) == _sentMessages.end()) { + for (uint32_t i = 0; i < batch.size(); i++) { + if (_sentMessages.find(batch[i]) == _sentMessages.end()) { messagesDone++; - } else if (distribution.ensurePrimaryPersisted() && j == 0) { + } else if (distribution.ensurePrimaryPersisted() && i == 0) { // Primary must always be written. LOG(debug, "Not returning early because primary node wasn't done"); return false; @@ -160,20 +152,17 @@ PersistenceMessageTrackerImpl::canSendReplyEarly() const void PersistenceMessageTrackerImpl::checkCopiesDeleted() { - if (!_reply.get()) { + if ( ! _reply) { return; } // Don't check the buckets that have been remapped here, as we will // create them. const auto &bucketSpaceRepo(_manager.getBucketSpaceRepo()); - for (BucketInfoMap::const_iterator iter = _bucketInfo.begin(); - iter != _bucketInfo.end(); - iter++) - { - const auto &bucketSpace(bucketSpaceRepo.get(iter->first.getBucketSpace())); + for (const auto & entry : _bucketInfo) { + const auto &bucketSpace(bucketSpaceRepo.get(entry.first.getBucketSpace())); const auto &bucketDb(bucketSpace.getBucketDatabase()); - BucketDatabase::Entry dbentry = bucketDb.get(iter->first.getBucketId()); + BucketDatabase::Entry dbentry = bucketDb.get(entry.first.getBucketId()); if (!dbentry.valid()) { continue; @@ -182,17 +171,17 @@ PersistenceMessageTrackerImpl::checkCopiesDeleted() std::vector<uint16_t> missing; std::vector<uint16_t> total; - for (uint32_t i = 0; i < iter->second.size(); ++i) { - if (dbentry->getNode(iter->second[i].getNode()) == NULL) { - missing.push_back(iter->second[i].getNode()); + for (const BucketCopy & bucketCopy : entry.second) { + if (dbentry->getNode(bucketCopy.getNode()) == nullptr) { + missing.push_back(bucketCopy.getNode()); } - total.push_back(iter->second[i].getNode()); + total.push_back(bucketCopy.getNode()); } if (!missing.empty()) { std::ostringstream msg; - msg << iter->first.toString() << " was deleted from nodes [" + msg << entry.first.toString() << " was deleted from nodes [" << commaSeparated(missing) << "] after message was sent but before it was done. Sent to [" << commaSeparated(total) @@ -258,7 +247,7 @@ bool PersistenceMessageTrackerImpl::shouldRevert() const { return _manager.getDistributorConfig().enableRevert - && _revertNodes.size() && !_success && _reply.get(); + && !_revertNodes.empty() && !_success && _reply; } void diff --git a/storage/src/vespa/storage/distributor/persistencemessagetracker.h b/storage/src/vespa/storage/distributor/persistencemessagetracker.h index 2b4e7d8edc1..5a4d8e17452 100644 --- a/storage/src/vespa/storage/distributor/persistencemessagetracker.h +++ b/storage/src/vespa/storage/distributor/persistencemessagetracker.h @@ -90,7 +90,7 @@ private: void handlePersistenceReply(api::BucketInfoReply& reply, uint16_t node); void queueCommand(std::shared_ptr<api::BucketCommand> msg, uint16_t target) override { - MessageTracker::queueCommand(msg, target); + MessageTracker::queueCommand(std::move(msg), target); } void flushQueue(MessageSender& s) override { MessageTracker::flushQueue(s); } uint16_t handleReply(api::BucketReply& r) override { return MessageTracker::handleReply(r); } |