Skip to content

Commit

Permalink
Dry up writing string collections via StreamOutput (#99087)
Browse files Browse the repository at this point in the history
We can dry up and shorten a bunch of spots by using the overloads
we already have in the code. Also, added a new overload for writing a
map with string keys.
  • Loading branch information
original-brownbear committed Sep 2, 2023
1 parent 621f52f commit 97ebcea
Show file tree
Hide file tree
Showing 208 changed files with 278 additions and 297 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public BucketSelectorPipelineAggregationBuilder(StreamInput in) throws IOExcepti

@Override
protected void doWriteTo(StreamOutput out) throws IOException {
out.writeMap(bucketsPathsMap, StreamOutput::writeString, StreamOutput::writeString);
out.writeMap(bucketsPathsMap, StreamOutput::writeString);
script.writeTo(out);
gapPolicy.writeTo(out);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws

@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeMap(grokPatterns, StreamOutput::writeString, StreamOutput::writeString);
out.writeMap(grokPatterns, StreamOutput::writeString);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ public TransportVersion getMinimalSupportedVersion() {

@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeMap(databases, StreamOutput::writeString, (o, v) -> {
out.writeMap(databases, (o, v) -> {
o.writeLong(v.lastUpdate);
o.writeVInt(v.firstChunk);
o.writeVInt(v.lastChunk);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -208,10 +208,10 @@ public void writeTo(StreamOutput out) throws IOException {
if (stats != null) {
stats.writeTo(out);
}
out.writeCollection(databases, StreamOutput::writeString);
out.writeCollection(filesInTemp, StreamOutput::writeString);
out.writeStringCollection(databases);
out.writeStringCollection(filesInTemp);
if (out.getTransportVersion().onOrAfter(TransportVersion.V_8_0_0)) {
out.writeCollection(configDatabases, StreamOutput::writeString);
out.writeStringCollection(configDatabases);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public GeometryCollectionBuilder(StreamInput in) throws IOException {

@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeNamedWriteableList(shapes);
out.writeNamedWriteableCollection(shapes);
}

public GeometryCollectionBuilder shape(ShapeBuilder<?, ?, ?> shape) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ public String toString() {
@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeDouble(metricScore);
out.writeMap(details, StreamOutput::writeString, (o, v) -> v.writeTo(o));
out.writeMap(failures, StreamOutput::writeString, StreamOutput::writeException);
out.writeMap(details, (o, v) -> v.writeTo(o));
out.writeMap(failures, StreamOutput::writeException);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ public RankEvalSpec(StreamInput in) throws IOException {
public void writeTo(StreamOutput out) throws IOException {
out.writeCollection(ratedRequests);
out.writeNamedWriteable(metric);
out.writeMap(templates, StreamOutput::writeString, (o, v) -> v.writeTo(o));
out.writeMap(templates, (o, v) -> v.writeTo(o));
out.writeVInt(maxConcurrentSearches);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,6 @@ public void writeTo(StreamOutput out) throws IOException {
}
out.writeMap(
routingTable,
StreamOutput::writeString,
(shardsOut, shards) -> shardsOut.writeMap(
shards,
StreamOutput::writeVInt,
Expand Down Expand Up @@ -308,7 +307,7 @@ public static ShardAssignmentView from(StreamInput in) throws IOException {

@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeCollection(nodeIds, StreamOutput::writeString);
out.writeStringCollection(nodeIds);
out.writeVInt(total);
out.writeVInt(unassigned);
out.writeVInt(ignored);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public NodePrevalidateShardPathRequest(StreamInput in) throws IOException {
@Override
public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out);
out.writeCollection(shardIds, (o, value) -> value.writeTo(o));
out.writeCollection(shardIds);
}

public Set<ShardId> getShardIds() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public ClusterSearchShardsResponse(StreamInput in) throws IOException {
public void writeTo(StreamOutput out) throws IOException {
out.writeArray(groups);
out.writeArray(nodes);
out.writeMap(indicesAndFilters, StreamOutput::writeString, (o, s) -> s.writeTo(o));
out.writeMap(indicesAndFilters, (o, s) -> s.writeTo(o));
}

public ClusterSearchShardsResponse(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ public int remaining() {
public void writeTo(StreamOutput out) throws IOException {
out.writeCollection(snapshots);
if (out.getTransportVersion().onOrAfter(GetSnapshotsRequest.MULTIPLE_REPOSITORIES_SUPPORT_ADDED)) {
out.writeMap(failures, StreamOutput::writeString, StreamOutput::writeException);
out.writeMap(failures, StreamOutput::writeException);
out.writeOptionalString(next);
} else {
if (failures.isEmpty() == false) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public class GetShardSnapshotResponse extends ActionResponse {
@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeOptionalWriteable(latestShardSnapshot);
out.writeMap(repositoryFailures, StreamOutput::writeString, (o, err) -> err.writeTo(o));
out.writeMap(repositoryFailures, (o, err) -> err.writeTo(o));
}

public Optional<RepositoryException> getFailureForRepository(String repository) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -210,11 +210,7 @@ public Map<Snapshot, Map<ShardId, SnapshotIndexShardStatus>> status() {
public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out);
if (status != null) {
out.writeMap(
status,
(o, s) -> s.writeTo(o),
(output, v) -> output.writeMap(v, (o, shardId) -> shardId.writeTo(o), (o, sis) -> sis.writeTo(o))
);
out.writeMap(status, (o, s) -> s.writeTo(o), StreamOutput::writeMap);
} else {
out.writeVInt(0);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,7 @@ public void writeTo(StreamOutput out) throws IOException {
out.writeCollection(usedBuiltInTokenFilters);
out.writeCollection(usedBuiltInAnalyzers);
if (out.getTransportVersion().onOrAfter(SYNONYM_SETS_VERSION)) {
out.writeMap(usedSynonyms, StreamOutput::writeString, (o, v) -> v.writeTo(o));
out.writeMap(usedSynonyms, (o, v) -> v.writeTo(o));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public class FieldStats extends IndexFeatureStats {
public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out);
out.writeVInt(scriptCount);
out.writeCollection(scriptLangs, StreamOutput::writeString);
out.writeStringCollection(scriptLangs);
fieldScriptStats.writeTo(out);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public void writeTo(StreamOutput out) throws IOException {
out.writeString(type);
out.writeInt(count);
out.writeInt(indexCount);
out.writeCollection(scriptLangs, StreamOutput::writeString);
out.writeStringCollection(scriptLangs);
out.writeLong(scriptLessCount);
out.writeLong(shadowedCount);
fieldScriptStats.writeTo(out);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ public SearchUsageStats(StreamInput in) throws IOException {

@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeMap(queries, StreamOutput::writeString, StreamOutput::writeLong);
out.writeMap(sections, StreamOutput::writeString, StreamOutput::writeLong);
out.writeMap(queries, StreamOutput::writeLong);
out.writeMap(sections, StreamOutput::writeLong);
out.writeVLong(totalSearchCount);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ public Map<String, List<DataStreamAlias>> getDataStreamAliases() {

@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeMap(aliases, StreamOutput::writeString, (streamOutput1, list1) -> streamOutput1.writeCollection(list1));
out.writeMap(dataStreamAliases, StreamOutput::writeString, (streamOutput, list) -> streamOutput.writeCollection(list));
out.writeMap(aliases, StreamOutput::writeCollection);
out.writeMap(dataStreamAliases, StreamOutput::writeCollection);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ public static ReloadAnalyzersResponse fromXContent(XContentParser parser) {
@Override
public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out);
out.writeMap(reloadDetails, StreamOutput::writeString, (stream, details) -> details.writeTo(stream));
out.writeMap(reloadDetails, (stream, details) -> details.writeTo(stream));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public final class AnalyzeIndexDiskUsageResponse extends BroadcastResponse {
@Override
public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out);
out.writeMap(stats, StreamOutput::writeString, (o, v) -> v.writeTo(o));
out.writeMap(stats, (o, v) -> v.writeTo(o));
}

Map<String, IndexDiskUsageStats> getStats() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public IndexDiskUsageStats(StreamInput in) throws IOException {

@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeMap(fields, StreamOutput::writeString, (o, v) -> v.writeTo(o));
out.writeMap(fields, (o, v) -> v.writeTo(o));
out.writeVLong(indexSizeInBytes);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -173,10 +173,10 @@ public String getSetting(String index, String setting) {
public void writeTo(StreamOutput out) throws IOException {
out.writeStringArray(indices);
MappingMetadata.writeMappingMetadata(out, mappings);
out.writeMap(aliases, StreamOutput::writeString, (streamOutput, list) -> streamOutput.writeCollection(list));
out.writeMap(settings, StreamOutput::writeString, (o, v) -> v.writeTo(o));
out.writeMap(defaultSettings, StreamOutput::writeString, (o, v) -> v.writeTo(o));
out.writeMap(dataStreams, StreamOutput::writeString, StreamOutput::writeOptionalString);
out.writeMap(aliases, StreamOutput::writeCollection);
out.writeMap(settings, (o, v) -> v.writeTo(o));
out.writeMap(defaultSettings, (o, v) -> v.writeTo(o));
out.writeMap(dataStreams, StreamOutput::writeOptionalString);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,12 +153,12 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws

@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeMap(mappings, StreamOutput::writeString, (outpt, map) -> {
out.writeMap(mappings, (outpt, map) -> {
if (outpt.getTransportVersion().before(TransportVersion.V_8_0_0)) {
outpt.writeVInt(1);
outpt.writeString(MapperService.SINGLE_MAPPING_NAME);
}
outpt.writeMap(map, StreamOutput::writeString, (o, v) -> {
outpt.writeMap(map, (o, v) -> {
o.writeString(v.fullName());
o.writeBytesReference(v.source);
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,9 +115,8 @@ public boolean hasMinConditions() {

@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeCollection(
conditions.values().stream().filter(c -> c.includedInVersion(out.getTransportVersion())).toList(),
StreamOutput::writeNamedWriteable
out.writeNamedWriteableCollection(
conditions.values().stream().filter(c -> c.includedInVersion(out.getTransportVersion())).toList()
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public RolloverConfiguration(StreamInput in) throws IOException {
@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeWriteable(concreteConditions);
out.writeCollection(automaticConditions, StreamOutput::writeString);
out.writeStringCollection(automaticConditions);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public static Diff<RolloverInfo> readDiffFrom(StreamInput in) throws IOException
public void writeTo(StreamOutput out) throws IOException {
out.writeString(alias);
out.writeVLong(time);
out.writeNamedWriteableList(metConditions);
out.writeNamedWriteableCollection(metConditions);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out);
out.writeString(oldIndex);
out.writeString(newIndex);
out.writeMap(conditionStatus, StreamOutput::writeString, StreamOutput::writeBoolean);
out.writeMap(conditionStatus, StreamOutput::writeBoolean);
out.writeBoolean(dryRun);
out.writeBoolean(rolledOver);
out.writeBoolean(shardsAcknowledged);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@ public String getSetting(String index, String setting) {

@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeMap(indexToSettings, StreamOutput::writeString, (o, v) -> v.writeTo(o));
out.writeMap(indexToDefaultSettings, StreamOutput::writeString, (o, v) -> v.writeTo(o));
out.writeMap(indexToSettings, (o, v) -> v.writeTo(o));
out.writeMap(indexToDefaultSettings, (o, v) -> v.writeTo(o));
}

private static void parseSettingsField(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -267,11 +267,7 @@ public List<Failure> getFailures() {

@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeMap(
storeStatuses,
StreamOutput::writeString,
(o, v) -> o.writeMap(v, StreamOutput::writeInt, StreamOutput::writeCollection)
);
out.writeMap(storeStatuses, (o, v) -> o.writeMap(v, StreamOutput::writeInt, StreamOutput::writeCollection));
out.writeCollection(failures);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public class FieldUsageStatsResponse extends ChunkedBroadcastResponse {
@Override
public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out);
out.writeMap(stats, StreamOutput::writeString, (streamOutput, list) -> streamOutput.writeCollection(list));
out.writeMap(stats, StreamOutput::writeCollection);
}

public Map<String, List<FieldUsageShardResponse>> getStats() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,8 +172,8 @@ public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out);
out.writeArray(shards);
if (out.getTransportVersion().onOrAfter(TransportVersion.V_8_1_0)) {
out.writeMap(indexHealthMap, StreamOutput::writeString, (o, s) -> s.writeTo(o));
out.writeMap(indexStateMap, StreamOutput::writeString, (o, s) -> s.writeTo(o));
out.writeMap(indexHealthMap, (o, s) -> s.writeTo(o));
out.writeMap(indexStateMap, (o, s) -> s.writeTo(o));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ public RolloverConfiguration getRolloverConfiguration() {

@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeMap(componentTemplates, StreamOutput::writeString, (o, v) -> v.writeTo(o));
out.writeMap(componentTemplates, (o, v) -> v.writeTo(o));
if (out.getTransportVersion().onOrAfter(TransportVersion.V_8_500_010)) {
out.writeOptionalWriteable(rolloverConfiguration);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ public Map<String, ComposableIndexTemplate> indexTemplates() {

@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeMap(indexTemplates, StreamOutput::writeString, (o, v) -> v.writeTo(o));
out.writeMap(indexTemplates, (o, v) -> v.writeTo(o));
if (out.getTransportVersion().onOrAfter(TransportVersion.V_8_500_010)) {
out.writeOptionalWriteable(rolloverConfiguration);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ public void writeTo(StreamOutput out) throws IOException {
out.writeOptionalStringArray(nonDimensionIndices);
out.writeOptionalStringArray(metricConflictsIndices);
}
out.writeMap(meta, StreamOutput::writeString, (o, set) -> o.writeCollection(set, StreamOutput::writeString));
out.writeMap(meta, StreamOutput::writeStringCollection);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ final class FieldCapabilitiesIndexResponse implements Writeable {
@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeString(indexName);
out.writeMap(responseMap, StreamOutput::writeString, (valueOut, fc) -> fc.writeTo(valueOut));
out.writeMap(responseMap, (valueOut, fc) -> fc.writeTo(valueOut));
out.writeBoolean(canMatch);
if (out.getTransportVersion().onOrAfter(MAPPING_HASH_VERSION)) {
out.writeOptionalString(indexMappingHash);
Expand All @@ -78,7 +78,7 @@ private record GroupByMappingHash(List<String> indices, String indexMappingHash,
public void writeTo(StreamOutput out) throws IOException {
out.writeStringCollection(indices);
out.writeString(indexMappingHash);
out.writeMap(responseMap, StreamOutput::writeString, (valueOut, fc) -> fc.writeTo(valueOut));
out.writeMap(responseMap, (valueOut, fc) -> fc.writeTo(valueOut));
}

Stream<FieldCapabilitiesIndexResponse> getResponses() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,13 +147,13 @@ private static Map<String, FieldCapabilities> readField(StreamInput in) throws I
@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeStringArray(indices);
out.writeMap(responseMap, StreamOutput::writeString, FieldCapabilitiesResponse::writeField);
out.writeMap(responseMap, FieldCapabilitiesResponse::writeField);
FieldCapabilitiesIndexResponse.writeList(out, indexResponses);
out.writeCollection(failures);
}

private static void writeField(StreamOutput out, Map<String, FieldCapabilities> map) throws IOException {
out.writeMap(map, StreamOutput::writeString, (valueOut, fc) -> fc.writeTo(valueOut));
out.writeMap(map, (valueOut, fc) -> fc.writeTo(valueOut));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ public void writeTo(StreamOutput out) throws IOException {
out.writeBoolean(isDimension);
out.writeOptionalEnum(metricType);
}
out.writeMap(meta, StreamOutput::writeString, StreamOutput::writeString);
out.writeMap(meta, StreamOutput::writeString);
}

public String getName() {
Expand Down

0 comments on commit 97ebcea

Please sign in to comment.