[ASTERIXDB-3498][COMP] Use sorted cluster locations

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
For operators that do not specify the locations where they should be run,
use the sorted cluster locations so that they are aligned with the
dataset cluster locations which is also sorted.

Ext-ref: MB-63356

Change-Id: I98af3329c1701560fd9d12d6587fcf1b3e35a842
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18776
Tested-by: Ali Alsuliman <ali.al.solaiman@gmail.com>
Reviewed-by: Ali Alsuliman <ali.al.solaiman@gmail.com>
Reviewed-by: Hussain Towaileb <hussainht@gmail.com>
diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
index 53cf3d0..46ba9dd 100644
--- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
+++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
@@ -960,7 +960,7 @@
     }
 
     public AlgebricksAbsolutePartitionConstraint getClusterLocations() {
-        return appCtx.getClusterStateManager().getClusterLocations();
+        return appCtx.getClusterStateManager().getSortedClusterLocations();
     }
 
     public Pair<IOperatorDescriptor, AlgebricksPartitionConstraint> buildExternalDataLookupRuntime(