mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-08-31 04:14:34 +00:00
GEN-1662 : Fix - on dashboard soft delete, chart should not be visible (#18283)
This commit is contained in:
parent
592d7396bc
commit
f366827208
@ -544,7 +544,7 @@ public class SearchRepository {
|
|||||||
searchClient.deleteByScript(indexMapping.getIndexName(clusterAlias), scriptTxt, params);
|
searchClient.deleteByScript(indexMapping.getIndexName(clusterAlias), scriptTxt, params);
|
||||||
} catch (Exception ie) {
|
} catch (Exception ie) {
|
||||||
LOG.error(
|
LOG.error(
|
||||||
"Issue in Creating new search document for entityType [{}]. Reason[{}], Cause[{}], Stack [{}]",
|
"Issue in deleting search document for entityType [{}]. Reason[{}], Cause[{}], Stack [{}]",
|
||||||
entityType,
|
entityType,
|
||||||
ie.getMessage(),
|
ie.getMessage(),
|
||||||
ie.getCause(),
|
ie.getCause(),
|
||||||
@ -653,6 +653,16 @@ public class SearchRepository {
|
|||||||
new ImmutablePair<>(
|
new ImmutablePair<>(
|
||||||
REMOVE_TAGS_CHILDREN_SCRIPT,
|
REMOVE_TAGS_CHILDREN_SCRIPT,
|
||||||
Collections.singletonMap("fqn", entity.getFullyQualifiedName())));
|
Collections.singletonMap("fqn", entity.getFullyQualifiedName())));
|
||||||
|
case Entity.DASHBOARD -> {
|
||||||
|
String scriptTxt =
|
||||||
|
String.format(
|
||||||
|
"if (ctx._source.dashboards.size() == 1) { ctx._source.put('deleted', '%s') }",
|
||||||
|
true);
|
||||||
|
searchClient.softDeleteOrRestoreChildren(
|
||||||
|
indexMapping.getChildAliases(clusterAlias),
|
||||||
|
scriptTxt,
|
||||||
|
List.of(new ImmutablePair<>("dashboards.id", docId)));
|
||||||
|
}
|
||||||
case Entity.TEST_SUITE -> {
|
case Entity.TEST_SUITE -> {
|
||||||
TestSuite testSuite = (TestSuite) entity;
|
TestSuite testSuite = (TestSuite) entity;
|
||||||
if (Boolean.TRUE.equals(testSuite.getExecutable())) {
|
if (Boolean.TRUE.equals(testSuite.getExecutable())) {
|
||||||
@ -701,6 +711,16 @@ public class SearchRepository {
|
|||||||
indexMapping.getChildAliases(clusterAlias),
|
indexMapping.getChildAliases(clusterAlias),
|
||||||
scriptTxt,
|
scriptTxt,
|
||||||
List.of(new ImmutablePair<>("service.id", docId)));
|
List.of(new ImmutablePair<>("service.id", docId)));
|
||||||
|
case Entity.DASHBOARD -> {
|
||||||
|
scriptTxt =
|
||||||
|
String.format(
|
||||||
|
"if (ctx._source.dashboards.size() == 1) { ctx._source.put('deleted', '%s') }",
|
||||||
|
delete);
|
||||||
|
searchClient.softDeleteOrRestoreChildren(
|
||||||
|
indexMapping.getChildAliases(clusterAlias),
|
||||||
|
scriptTxt,
|
||||||
|
List.of(new ImmutablePair<>("dashboards.id", docId)));
|
||||||
|
}
|
||||||
default -> searchClient.softDeleteOrRestoreChildren(
|
default -> searchClient.softDeleteOrRestoreChildren(
|
||||||
indexMapping.getChildAliases(clusterAlias),
|
indexMapping.getChildAliases(clusterAlias),
|
||||||
scriptTxt,
|
scriptTxt,
|
||||||
|
@ -1234,7 +1234,6 @@ public class OpenSearchClient implements SearchClient {
|
|||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
public void updateSearch(UpdateRequest updateRequest) {
|
public void updateSearch(UpdateRequest updateRequest) {
|
||||||
if (updateRequest != null) {
|
if (updateRequest != null) {
|
||||||
updateRequest.docAsUpsert(true);
|
|
||||||
updateRequest.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE);
|
updateRequest.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE);
|
||||||
LOG.debug(SENDING_REQUEST_TO_ELASTIC_SEARCH, updateRequest);
|
LOG.debug(SENDING_REQUEST_TO_ELASTIC_SEARCH, updateRequest);
|
||||||
client.update(updateRequest, RequestOptions.DEFAULT);
|
client.update(updateRequest, RequestOptions.DEFAULT);
|
||||||
@ -1650,6 +1649,7 @@ public class OpenSearchClient implements SearchClient {
|
|||||||
if (isClientAvailable) {
|
if (isClientAvailable) {
|
||||||
UpdateRequest updateRequest = new UpdateRequest(indexName, docId);
|
UpdateRequest updateRequest = new UpdateRequest(indexName, docId);
|
||||||
updateRequest.doc(doc, XContentType.JSON);
|
updateRequest.doc(doc, XContentType.JSON);
|
||||||
|
updateRequest.docAsUpsert(true);
|
||||||
updateSearch(updateRequest);
|
updateSearch(updateRequest);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1659,6 +1659,7 @@ public class OpenSearchClient implements SearchClient {
|
|||||||
if (isClientAvailable) {
|
if (isClientAvailable) {
|
||||||
UpdateRequest updateRequest = new UpdateRequest(indexName, docId);
|
UpdateRequest updateRequest = new UpdateRequest(indexName, docId);
|
||||||
updateRequest.doc(doc, XContentType.JSON);
|
updateRequest.doc(doc, XContentType.JSON);
|
||||||
|
updateRequest.docAsUpsert(true);
|
||||||
updateSearch(updateRequest);
|
updateSearch(updateRequest);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user