mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 09:19:04 -04:00
[uiSettings] use refresh: false
instead of default refresh: 'wait_for'
in create and update (#160278)
## Summary Close https://github.com/elastic/kibana/issues/159662 See explanation [here](https://github.com/elastic/kibana/issues/159662)
This commit is contained in:
parent
95702ac644
commit
c76b185323
7 changed files with 63 additions and 21 deletions
|
@ -64,7 +64,12 @@ describe('ui settings', () => {
|
|||
await uiSettings.setMany({ one: 'value' });
|
||||
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledTimes(1);
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledWith(TYPE, ID, { one: 'value' });
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledWith(
|
||||
TYPE,
|
||||
ID,
|
||||
{ one: 'value' },
|
||||
{ refresh: false }
|
||||
);
|
||||
});
|
||||
|
||||
it('updates several values in one operation', async () => {
|
||||
|
@ -72,10 +77,15 @@ describe('ui settings', () => {
|
|||
await uiSettings.setMany({ one: 'value', another: 'val' });
|
||||
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledTimes(1);
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledWith(TYPE, ID, {
|
||||
one: 'value',
|
||||
another: 'val',
|
||||
});
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledWith(
|
||||
TYPE,
|
||||
ID,
|
||||
{
|
||||
one: 'value',
|
||||
another: 'val',
|
||||
},
|
||||
{ refresh: false }
|
||||
);
|
||||
});
|
||||
|
||||
it('automatically creates the savedConfig if it is missing', async () => {
|
||||
|
@ -159,9 +169,14 @@ describe('ui settings', () => {
|
|||
await uiSettings.set('one', 'value');
|
||||
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledTimes(1);
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledWith(TYPE, ID, {
|
||||
one: 'value',
|
||||
});
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledWith(
|
||||
TYPE,
|
||||
ID,
|
||||
{
|
||||
one: 'value',
|
||||
},
|
||||
{ refresh: false }
|
||||
);
|
||||
});
|
||||
|
||||
it('validates value if a schema presents', async () => {
|
||||
|
@ -202,7 +217,12 @@ describe('ui settings', () => {
|
|||
await uiSettings.remove('one');
|
||||
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledTimes(1);
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledWith(TYPE, ID, { one: null });
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledWith(
|
||||
TYPE,
|
||||
ID,
|
||||
{ one: null },
|
||||
{ refresh: false }
|
||||
);
|
||||
});
|
||||
|
||||
it('does not fail validation', async () => {
|
||||
|
@ -246,7 +266,12 @@ describe('ui settings', () => {
|
|||
await uiSettings.removeMany(['one']);
|
||||
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledTimes(1);
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledWith(TYPE, ID, { one: null });
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledWith(
|
||||
TYPE,
|
||||
ID,
|
||||
{ one: null },
|
||||
{ refresh: false }
|
||||
);
|
||||
});
|
||||
|
||||
it('updates several values in one operation', async () => {
|
||||
|
@ -254,11 +279,16 @@ describe('ui settings', () => {
|
|||
await uiSettings.removeMany(['one', 'two', 'three']);
|
||||
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledTimes(1);
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledWith(TYPE, ID, {
|
||||
one: null,
|
||||
two: null,
|
||||
three: null,
|
||||
});
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledWith(
|
||||
TYPE,
|
||||
ID,
|
||||
{
|
||||
one: null,
|
||||
two: null,
|
||||
three: null,
|
||||
},
|
||||
{ refresh: false }
|
||||
);
|
||||
});
|
||||
|
||||
it('does not fail validation', async () => {
|
||||
|
|
|
@ -129,7 +129,7 @@ export abstract class UiSettingsClientCommon extends BaseUiSettingsClient {
|
|||
autoCreateOrUpgradeIfMissing?: boolean;
|
||||
}) {
|
||||
try {
|
||||
await this.savedObjectsClient.update(this.type, this.id, changes);
|
||||
await this.savedObjectsClient.update(this.type, this.id, changes, { refresh: false });
|
||||
} catch (error) {
|
||||
if (!SavedObjectsErrorHelpers.isNotFoundError(error) || !autoCreateOrUpgradeIfMissing) {
|
||||
throw error;
|
||||
|
|
|
@ -86,9 +86,14 @@ describe('ui settings global client', () => {
|
|||
const { uiSettingsClient, savedObjectsClient } = setup();
|
||||
await uiSettingsClient.set('settingA', 'cde');
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledTimes(1);
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledWith(TYPE, ID, {
|
||||
settingA: 'cde',
|
||||
});
|
||||
expect(savedObjectsClient.update).toHaveBeenCalledWith(
|
||||
TYPE,
|
||||
ID,
|
||||
{
|
||||
settingA: 'cde',
|
||||
},
|
||||
{ refresh: false }
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -79,6 +79,7 @@ describe('uiSettings/createOrUpgradeSavedConfig', function () {
|
|||
},
|
||||
{
|
||||
id: version,
|
||||
refresh: false,
|
||||
}
|
||||
);
|
||||
});
|
||||
|
@ -110,6 +111,7 @@ describe('uiSettings/createOrUpgradeSavedConfig', function () {
|
|||
},
|
||||
{
|
||||
id: version,
|
||||
refresh: false,
|
||||
}
|
||||
);
|
||||
});
|
||||
|
@ -140,7 +142,7 @@ describe('uiSettings/createOrUpgradeSavedConfig', function () {
|
|||
defaultIndex: 'another-index',
|
||||
isDefaultIndexMigrated: true,
|
||||
},
|
||||
{ id: version }
|
||||
{ id: version, refresh: false }
|
||||
);
|
||||
});
|
||||
|
||||
|
@ -282,6 +284,7 @@ describe('uiSettings/createOrUpgradeSavedConfig', function () {
|
|||
},
|
||||
{
|
||||
id: version,
|
||||
refresh: false,
|
||||
}
|
||||
);
|
||||
});
|
||||
|
@ -313,6 +316,7 @@ describe('uiSettings/createOrUpgradeSavedConfig', function () {
|
|||
},
|
||||
{
|
||||
id: version,
|
||||
refresh: false,
|
||||
}
|
||||
);
|
||||
});
|
||||
|
|
|
@ -63,7 +63,7 @@ export async function createOrUpgradeSavedConfig(
|
|||
|
||||
try {
|
||||
// create the new SavedConfig
|
||||
await savedObjectsClient.create(type, attributes, { id: version });
|
||||
await savedObjectsClient.create(type, attributes, { id: version, refresh: false });
|
||||
} catch (error) {
|
||||
if (handleWriteErrors) {
|
||||
if (SavedObjectsErrorHelpers.isConflictError(error)) {
|
||||
|
|
|
@ -26,6 +26,7 @@ export async function emptyKibanaIndexAction({
|
|||
|
||||
await cleanSavedObjectIndices({ client, stats, log });
|
||||
await migrateSavedObjectIndices(kbnClient);
|
||||
await client.indices.refresh({ index: ALL_SAVED_OBJECT_INDICES });
|
||||
ALL_SAVED_OBJECT_INDICES.forEach((indexPattern) => stats.createdIndex(indexPattern));
|
||||
return stats.toJSON();
|
||||
}
|
||||
|
|
|
@ -13,6 +13,8 @@ export const docMissingSuite = (savedObjectsIndex: string) => () => {
|
|||
beforeEach(async () => {
|
||||
const { esClient } = getServices();
|
||||
|
||||
await esClient.indices.refresh({ index: savedObjectsIndex });
|
||||
|
||||
// delete all docs from kibana index to ensure savedConfig is not found
|
||||
await esClient.deleteByQuery({
|
||||
index: savedObjectsIndex,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue