in src/main/java/com/amazonaws/services/neptune/cluster/AddCloneTask.java [217:265]
private DBParameterGroup createDbParameterGroup(NeptuneClusterMetadata sourceClusterMetadata,
NeptuneClient neptune) {
DBParameterGroup dbParameterGroup;
dbParameterGroup = neptune.createDBParameterGroup(
CreateDbParameterGroupRequest.builder()
.dbParameterGroupName(String.format("%s-db-params", targetClusterId))
.description(String.format("%s DB Parameter Group", targetClusterId))
.dbParameterGroupFamily(sourceClusterMetadata.dbParameterGroupFamily())
.tags(getTags(sourceClusterMetadata.clusterId()))
.build()).dbParameterGroup();
neptune.modifyDBParameterGroup(ModifyDbParameterGroupRequest.builder()
.dbParameterGroupName(dbParameterGroup.dbParameterGroupName())
.parameters(
Parameter.builder()
.parameterName("neptune_query_timeout")
.parameterValue("2147483647")
.applyMethod(ApplyMethod.PENDING_REBOOT)
.build()
).build());
List<Parameter> dbParameters = neptune.describeDBParameters(
DescribeDbParametersRequest.builder()
.dbParameterGroupName(dbParameterGroup.dbParameterGroupName())
.build()
).parameters();
while (dbParameters.stream().noneMatch(parameter ->
parameter.parameterName().equals("neptune_query_timeout") &&
parameter.parameterValue().equals("2147483647"))) {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
dbParameters = neptune.describeDBClusterParameters(
DescribeDbClusterParametersRequest.builder()
.dbClusterParameterGroupName(dbParameterGroup.dbParameterGroupName())
.build()
).parameters();
}
System.err.println(String.format("DB parameter group : %s", dbParameterGroup.dbParameterGroupName()));
System.err.println();
return dbParameterGroup;
}