From db0fcbd05b51a07611d82938e4b59f365020e859 Mon Sep 17 00:00:00 2001 From: Heiko Date: Wed, 27 Nov 2019 16:37:44 +0100 Subject: [PATCH 1/3] Bug fix 3.4/issue 10470 (#10498) * fixing issue #10470 * changelog --- CHANGELOG | 3 ++ .../js/collections/arangoDocuments.js | 28 ++++++++++--------- .../APP/frontend/js/views/documentsView.js | 3 +- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index ed1d1a377c..4c4d150c39 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,9 @@ v3.4.9 (XXXX-XX-XX) ------------------- +* Fixed issue #10470: The WebUI now shows potential errors and details which + occured using _api/import (e.g. unique constraint violated). + * Updated arangosync to 0.7.0. * Make the timeouts for replication requests (for active failover and master-slave diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/collections/arangoDocuments.js b/js/apps/system/_admin/aardvark/APP/frontend/js/collections/arangoDocuments.js index ab80748156..c43cc0ee35 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/js/collections/arangoDocuments.js +++ b/js/apps/system/_admin/aardvark/APP/frontend/js/collections/arangoDocuments.js @@ -371,9 +371,21 @@ }, uploadDocuments: function (file, callback) { + var analyzeResponse = function (data) { + if (data.hasOwnProperty('error')) { + delete data.error; + } + + if (data.errors > 0) { + callback(true, 'Info: ' + JSON.stringify(data)); + } else { + callback(false, 'Info: ' + JSON.stringify(data)); + } + }; + $.ajax({ type: 'POST', - url: arangoHelper.databaseUrl('/_api/import?type=auto&collection=' + + url: arangoHelper.databaseUrl('/_api/import?type=auto&details=true&collection=' + encodeURIComponent(this.collectionID) + '&createCollection=false'), data: file, @@ -381,18 +393,8 @@ contentType: 'json', dataType: 'json', complete: function (xhr) { - if (xhr.readyState === 4 && xhr.status === 201) { - callback(false); - } else { - try { - var data = JSON.parse(xhr.responseText); - if (data.errors > 0) { - var result = 'At least one error occurred during upload'; - callback(false, result); - } - } catch (err) { - console.log(err); - } + if (xhr.responseJSON) { + analyzeResponse(xhr.responseJSON); } }, error: function (msg) { diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/views/documentsView.js b/js/apps/system/_admin/aardvark/APP/frontend/js/views/documentsView.js index 7717ff365a..9143eca0ca 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/js/views/documentsView.js +++ b/js/apps/system/_admin/aardvark/APP/frontend/js/views/documentsView.js @@ -220,7 +220,7 @@ $('#documents_first').css('visibility', 'visible'); this.addDocumentSwitch = true; this.collection.resetFilter(); - this.collection.loadTotal(callback); + this.collection.loadCollectionConfig(callback); this.restoredFilters = []; // for resetting json upload @@ -249,6 +249,7 @@ if (error) { arangoHelper.arangoError('Upload', msg); } else { + arangoHelper.arangoMessage('Upload', msg); this.hideImportModal(); this.resetView(); } From a59b240e6397917350f9c72d3a74671e7a78e13f Mon Sep 17 00:00:00 2001 From: KVS85 Date: Thu, 28 Nov 2019 22:37:19 +0100 Subject: [PATCH 2/3] Updated arangosync to 0.7.1 --- CHANGELOG | 4 ++-- VERSIONS | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 4c4d150c39..33dd21064e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,11 +1,11 @@ v3.4.9 (XXXX-XX-XX) ------------------- +* Updated arangosync to 0.7.1. + * Fixed issue #10470: The WebUI now shows potential errors and details which occured using _api/import (e.g. unique constraint violated). -* Updated arangosync to 0.7.0. - * Make the timeouts for replication requests (for active failover and master-slave replication configurable via startup options: diff --git a/VERSIONS b/VERSIONS index b4e9328912..10ce17e28c 100644 --- a/VERSIONS +++ b/VERSIONS @@ -1,5 +1,5 @@ STARTER_REV "0.14.12" -SYNCER_REV "0.7.0" +SYNCER_REV "0.7.1" OPENSSL_LINUX "1.1.0l" OPENSSL_MACOS "1.0.2t" OPENSSL_WINDOWS "1.1.0l" From 4ad2ff1f7591b95fc80c00688f99f85d1b52baf5 Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Fri, 29 Nov 2019 14:14:23 +0100 Subject: [PATCH 3/3] Bug fix 3.4/cleanup view (#10590) * cleanup after test * Update upgrade-data-views-msv3.2.1.js * Update upgrade-data-views-msv3.2.1.js * Update upgrade-data-views-msv3.2.1.js --- .../upgrade-data-views-msv3.2.1.js | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/tests/js/server/upgrade-data/upgrade-data-views-msv3.2.1.js b/tests/js/server/upgrade-data/upgrade-data-views-msv3.2.1.js index 508f446e0f..fa65580677 100644 --- a/tests/js/server/upgrade-data/upgrade-data-views-msv3.2.1.js +++ b/tests/js/server/upgrade-data/upgrade-data-views-msv3.2.1.js @@ -47,30 +47,35 @@ function UpgradeData() { const c = db._collection('LargeCollection'); assertEqual(c.count(), 10000); - const v = db._createView('TestView', 'arangosearch', {}); - const properties = { - links: { - 'LargeCollection': { - includeAllFields: true + let v; + try { + v = db._createView('TestView', 'arangosearch', {}); + const properties = { + links: { + 'LargeCollection': { + includeAllFields: true + } } - } - }; - v.properties(properties); + }; + v.properties(properties); - const query = - `FOR doc in TestView + const query = + `FOR doc in TestView SEARCH(doc.name >= "Name 1114" && doc.name <= "Name 1117") OPTIONS { waitForSync: true } SORT doc.name ASC RETURN doc`; - const results = db._query(query).toArray(); - assertEqual(results.length, 4); - assertEqual(results[0].name, "Name 1114"); - assertEqual(results[1].name, "Name 1115"); - assertEqual(results[2].name, "Name 1116"); - assertEqual(results[3].name, "Name 1117"); + const results = db._query(query).toArray(); + assertEqual(results.length, 4); + assertEqual(results[0].name, "Name 1114"); + assertEqual(results[1].name, "Name 1115"); + assertEqual(results[2].name, "Name 1116"); + assertEqual(results[3].name, "Name 1117"); + } + finally { + db._dropView('TestView'); + } } - }; }