Merge branch 'master' into salsubaiee/master_fix_issue_500
diff --git a/asterix-app/data/nontagged/orderData.json b/asterix-app/data/nontagged/orderData.json
index 5779b72..989e3dd 100644
--- a/asterix-app/data/nontagged/orderData.json
+++ b/asterix-app/data/nontagged/orderData.json
@@ -1,4 +1,4 @@
{ "oid": 1000, "cid": 775, "orderstatus": "ORDER_DELIVERED", "orderpriority": "LOW", "clerk": "Kathryne", "total": 97.20656f, "items": [1,2, 4, 5, 6], "heList": ["1.0f" ,"yassser"], "openlist": [11, 14, "yasir", 1.6f], "loc": point("10.1,11.1") , "line" : line("10.1,11.1 10.2,11.2") , "poly" : polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8") , "DOB" : "1989-10-12", "favnumbers" : [10.0,20.0,30.0,40.0]}
-{ "oid": 10, "cid": 5, "orderstatus": "ORDER_DELIVERED", "orderpriority": "HIGH", "clerk": "ALEX", "total": 7.206f, "items": [13,52, 24, 15, 60], "heList": [1.0f ,"5.2f", "60"], "openlist": [13231, "foo", null, 13.25, 13.2f], "loc": point("10.1,11.1") , "line" : line("10.1,11.1 10.2,11.2") , "poly" : polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8") , "DOB" : "1989-10-12", "favnumbers" : [10.0,20.0,30.0,40.0,50.0,60.0,70.0]}
+{ "oid": 1, "cid": 5, "orderstatus": "ORDER_DELIVERED", "orderpriority": "HIGH", "clerk": "ALEX", "total": 7.206f, "items": [13,52, 24, 15, 60], "heList": [1.0f ,"5.2f", "60"], "openlist": [13231, "foo", null, 13.25, 13.2f], "loc": point("10.1,11.1") , "line" : line("10.1,11.1 10.2,11.2") , "poly" : polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8") , "DOB" : "1989-10-12", "favnumbers" : [10.0,20.0,30.0,40.0,50.0,60.0,70.0]}
{ "oid": 100, "cid": 12, "orderstatus": "ORDER_DELIVERED", "orderpriority": "HIGH", "clerk": "YASSER", "total": 124.26f, "items": [13,52, 60], "heList": [1.3f , 5.2f, "60", 12.32f], "openlist": [10, 2.0f, 3.0, 40], "loc": point("10.1,11.1") , "line" : line("10.1,11.1 10.2,11.2"), "poly" : polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), "DOB" : "1989-10-12" , "favnumbers" : [10.0,50.0,60.0,70.0]}
{ "oid": 10, "cid": 775, "orderstatus": "ORDER_DELIVERED", "orderpriority": "HIGH", "clerk": "MIKE", "total": 14.2326f, "items": [24, 15], "heList": [2.4f, "15"], "openlist": [110], "loc": point("10.1,11.1"), "line" : line("10.1,11.1 10.2,11.2"), "poly" : polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8") , "lastorder": { "oid": 75, "total": 87.618626f } }
diff --git a/asterix-app/src/main/java/edu/uci/ics/asterix/file/DatasetOperations.java b/asterix-app/src/main/java/edu/uci/ics/asterix/file/DatasetOperations.java
index 1f87ae0..ab76728 100644
--- a/asterix-app/src/main/java/edu/uci/ics/asterix/file/DatasetOperations.java
+++ b/asterix-app/src/main/java/edu/uci/ics/asterix/file/DatasetOperations.java
@@ -257,22 +257,24 @@
long numElementsHint = metadataProvider.getCardinalityPerPartitionHint(dataset);
AsterixStorageProperties storageProperties = AsterixAppContextInfo.getInstance().getStorageProperties();
- TreeIndexBulkLoadOperatorDescriptor btreeBulkLoad = new TreeIndexBulkLoadOperatorDescriptor(spec,
- AsterixRuntimeComponentsProvider.NOINDEX_PROVIDER, AsterixRuntimeComponentsProvider.NOINDEX_PROVIDER,
- splitsAndConstraint.first, typeTraits, comparatorFactories, blooFilterKeyFields, fieldPermutation,
- GlobalConfig.DEFAULT_BTREE_FILL_FACTOR, false, numElementsHint, new LSMBTreeDataflowHelperFactory(
- new AsterixVirtualBufferCacheProvider(dataset.getDatasetId()),
- AsterixRuntimeComponentsProvider.LSMBTREE_PRIMARY_PROVIDER,
- new PrimaryIndexOperationTrackerProvider(dataset.getDatasetId()),
- AsterixRuntimeComponentsProvider.LSMBTREE_PRIMARY_PROVIDER,
- AsterixRuntimeComponentsProvider.LSMBTREE_PRIMARY_PROVIDER,
- storageProperties.getBloomFilterFalsePositiveRate()), NoOpOperationCallbackFactory.INSTANCE);
- AlgebricksPartitionConstraintHelper.setPartitionConstraintInJobSpec(spec, btreeBulkLoad,
- splitsAndConstraint.second);
-
- spec.connect(new OneToOneConnectorDescriptor(spec), scanner, 0, asterixOp, 0);
-
+ TreeIndexBulkLoadOperatorDescriptor btreeBulkLoad;
if (!loadStmt.alreadySorted()) {
+ btreeBulkLoad = new TreeIndexBulkLoadOperatorDescriptor(spec,
+ AsterixRuntimeComponentsProvider.NOINDEX_PROVIDER,
+ AsterixRuntimeComponentsProvider.NOINDEX_PROVIDER, splitsAndConstraint.first, typeTraits,
+ comparatorFactories, blooFilterKeyFields, fieldPermutation, GlobalConfig.DEFAULT_BTREE_FILL_FACTOR,
+ true, numElementsHint, true, new LSMBTreeDataflowHelperFactory(
+ new AsterixVirtualBufferCacheProvider(dataset.getDatasetId()),
+ AsterixRuntimeComponentsProvider.LSMBTREE_PRIMARY_PROVIDER,
+ new PrimaryIndexOperationTrackerProvider(dataset.getDatasetId()),
+ AsterixRuntimeComponentsProvider.LSMBTREE_PRIMARY_PROVIDER,
+ AsterixRuntimeComponentsProvider.LSMBTREE_PRIMARY_PROVIDER,
+ storageProperties.getBloomFilterFalsePositiveRate()), NoOpOperationCallbackFactory.INSTANCE);
+ AlgebricksPartitionConstraintHelper.setPartitionConstraintInJobSpec(spec, btreeBulkLoad,
+ splitsAndConstraint.second);
+
+ spec.connect(new OneToOneConnectorDescriptor(spec), scanner, 0, asterixOp, 0);
+
int framesLimit = physicalOptimizationConfig.getMaxFramesExternalSort();
ExternalSortOperatorDescriptor sorter = new ExternalSortOperatorDescriptor(spec, framesLimit, keys,
comparatorFactories, recDesc);
@@ -283,6 +285,22 @@
spec.connect(hashConn, asterixOp, 0, sorter, 0);
spec.connect(new OneToOneConnectorDescriptor(spec), sorter, 0, btreeBulkLoad, 0);
} else {
+ btreeBulkLoad = new TreeIndexBulkLoadOperatorDescriptor(spec,
+ AsterixRuntimeComponentsProvider.NOINDEX_PROVIDER,
+ AsterixRuntimeComponentsProvider.NOINDEX_PROVIDER, splitsAndConstraint.first, typeTraits,
+ comparatorFactories, blooFilterKeyFields, fieldPermutation, GlobalConfig.DEFAULT_BTREE_FILL_FACTOR,
+ false, numElementsHint, true, new LSMBTreeDataflowHelperFactory(
+ new AsterixVirtualBufferCacheProvider(dataset.getDatasetId()),
+ AsterixRuntimeComponentsProvider.LSMBTREE_PRIMARY_PROVIDER,
+ new PrimaryIndexOperationTrackerProvider(dataset.getDatasetId()),
+ AsterixRuntimeComponentsProvider.LSMBTREE_PRIMARY_PROVIDER,
+ AsterixRuntimeComponentsProvider.LSMBTREE_PRIMARY_PROVIDER,
+ storageProperties.getBloomFilterFalsePositiveRate()), NoOpOperationCallbackFactory.INSTANCE);
+ AlgebricksPartitionConstraintHelper.setPartitionConstraintInJobSpec(spec, btreeBulkLoad,
+ splitsAndConstraint.second);
+
+ spec.connect(new OneToOneConnectorDescriptor(spec), scanner, 0, asterixOp, 0);
+
IConnectorDescriptor sortMergeConn = new MToNPartitioningMergingConnectorDescriptor(spec,
new FieldHashPartitionComputerFactory(keys, hashFactories), keys, comparatorFactories);
spec.connect(sortMergeConn, asterixOp, 0, btreeBulkLoad, 0);
diff --git a/asterix-app/src/main/java/edu/uci/ics/asterix/file/SecondaryIndexCreator.java b/asterix-app/src/main/java/edu/uci/ics/asterix/file/SecondaryIndexCreator.java
index fda9b45..f06fa1b 100644
--- a/asterix-app/src/main/java/edu/uci/ics/asterix/file/SecondaryIndexCreator.java
+++ b/asterix-app/src/main/java/edu/uci/ics/asterix/file/SecondaryIndexCreator.java
@@ -336,7 +336,7 @@
AsterixRuntimeComponentsProvider.LSMBTREE_SECONDARY_PROVIDER,
AsterixRuntimeComponentsProvider.LSMBTREE_SECONDARY_PROVIDER, secondaryFileSplitProvider,
secondaryRecDesc.getTypeTraits(), secondaryComparatorFactories, secondaryBloomFilterKeyFields,
- fieldPermutation, fillFactor, false, numElementsHint, dataflowHelperFactory,
+ fieldPermutation, fillFactor, false, numElementsHint, false, dataflowHelperFactory,
NoOpOperationCallbackFactory.INSTANCE);
AlgebricksPartitionConstraintHelper.setPartitionConstraintInJobSpec(spec, treeIndexBulkLoadOp,
secondaryPartitionConstraint);
diff --git a/asterix-app/src/main/java/edu/uci/ics/asterix/file/SecondaryInvertedIndexCreator.java b/asterix-app/src/main/java/edu/uci/ics/asterix/file/SecondaryInvertedIndexCreator.java
index 9a54847..435b4a7 100644
--- a/asterix-app/src/main/java/edu/uci/ics/asterix/file/SecondaryInvertedIndexCreator.java
+++ b/asterix-app/src/main/java/edu/uci/ics/asterix/file/SecondaryInvertedIndexCreator.java
@@ -266,10 +266,11 @@
}
IIndexDataflowHelperFactory dataflowHelperFactory = createDataflowHelperFactory();
LSMInvertedIndexBulkLoadOperatorDescriptor invIndexBulkLoadOp = new LSMInvertedIndexBulkLoadOperatorDescriptor(
- spec, fieldPermutation, false, numElementsHint, AsterixRuntimeComponentsProvider.NOINDEX_PROVIDER,
- secondaryFileSplitProvider, AsterixRuntimeComponentsProvider.NOINDEX_PROVIDER, tokenTypeTraits,
- tokenComparatorFactories, invListsTypeTraits, primaryComparatorFactories, tokenizerFactory,
- dataflowHelperFactory, NoOpOperationCallbackFactory.INSTANCE);
+ spec, fieldPermutation, false, numElementsHint, false,
+ AsterixRuntimeComponentsProvider.NOINDEX_PROVIDER, secondaryFileSplitProvider,
+ AsterixRuntimeComponentsProvider.NOINDEX_PROVIDER, tokenTypeTraits, tokenComparatorFactories,
+ invListsTypeTraits, primaryComparatorFactories, tokenizerFactory, dataflowHelperFactory,
+ NoOpOperationCallbackFactory.INSTANCE);
AlgebricksPartitionConstraintHelper.setPartitionConstraintInJobSpec(spec, invIndexBulkLoadOp,
secondaryPartitionConstraint);
return invIndexBulkLoadOp;
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.1.ddl.aql
index 356aafb..177d74f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.1.ddl.aql
@@ -1,6 +1,6 @@
/*
* Test case Name : empty-load-with-index.aql
- * Description : Check that an empty load doesn't preclude a future non-empty load on secondary index
+ * Description : Check that an empty load doesn't preclude a future non-empty load on primary and secondary indexes
* Expected Result : Success
* Date : May 2 2012
*/
@@ -33,4 +33,3 @@
primary key l_orderkey, l_linenumber;
create index part_index on LineItem(l_partkey);
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.2.update.aql
index 821c6a3..ce46ab2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.2.update.aql
@@ -1,6 +1,6 @@
/*
* Test case Name : empty-load-with-index.aql
- * Description : Check that an empty load doesn't preclude a future non-empty load on secondary index
+ * Description : Check that an empty load doesn't preclude a future non-empty load on primary and secondary indexes
* Expected Result : Success
* Date : May 2 2012
*/
@@ -14,4 +14,3 @@
load dataset LineItem
using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.3.query.aql
index 5111256..2348e27 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.3.query.aql
@@ -1,6 +1,6 @@
/*
* Test case Name : empty-load-with-index.aql
- * Description : Check that an empty load doesn't preclude a future non-empty load on secondary index
+ * Description : Check that an empty load doesn't preclude a future non-empty load on primary and secondary indexes
* Expected Result : Success
* Date : May 2 2012
*/
@@ -10,4 +10,4 @@
for $c in dataset('LineItem')
order by $c.l_orderkey, $c.l_linenumber
limit 1
-return $c
+return $c
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.1.ddl.aql
deleted file mode 100644
index 54da1a2..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.1.ddl.aql
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Test case Name : empty-load-with-index.aql
- * Description : Check that an empty load doesn't preclude a future non-empty load on primary index
- * Expected Result : Success
- * Date : May 2 2012
- */
-
-drop dataverse test if exists;
-create dataverse test;
-
-use dataverse test;
-
-create type LineItemType as closed {
- l_orderkey: int32,
- l_partkey: int32,
- l_suppkey: int32,
- l_linenumber: int32,
- l_quantity: double,
- l_extendedprice: double,
- l_discount: double,
- l_tax: double,
- l_returnflag: string,
- l_linestatus: string,
- l_shipdate: string,
- l_commitdate: string,
- l_receiptdate: string,
- l_shipinstruct: string,
- l_shipmode: string,
- l_comment: string
-}
-
-create dataset LineItem(LineItemType)
- primary key l_orderkey, l_linenumber;
-
-create index part_index on LineItem(l_partkey);
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.2.update.aql
deleted file mode 100644
index e9072d1..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.2.update.aql
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Test case Name : empty-load-with-index.aql
- * Description : Check that an empty load doesn't preclude a future non-empty load on primary index
- * Expected Result : Success
- * Date : May 2 2012
- */
-
-use dataverse test;
-
-load dataset LineItem
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/empty.adm"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset LineItem
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.3.query.aql
deleted file mode 100644
index bb4cac6..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.3.query.aql
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * Test case Name : empty-load-with-index.aql
- * Description : Check that an empty load doesn't preclude a future non-empty load on primary index
- * Expected Result : Success
- * Date : May 2 2012
- */
-
-use dataverse test;
-
-for $c in dataset('LineItem')
-order by $c.l_orderkey, $c.l_linenumber
-limit 1
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-3_1.1/dblp-3_1.1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-3_1.1/dblp-3_1.1.1.ddl.aql
index d68b466e..5af25b2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-3_1.1/dblp-3_1.1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-3_1.1/dblp-3_1.1.1.ddl.aql
@@ -12,9 +12,4 @@
misc: string
}
-create dataset DBLP(DBLPType) primary key id;
-
-load dataset DBLP
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/pub-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
-
+create dataset DBLP(DBLPType) primary key id;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/cross-dataverse/join_across_dataverses/join_across_dataverses.1.adm b/asterix-app/src/test/resources/runtimets/results/cross-dataverse/join_across_dataverses/join_across_dataverses.1.adm
index e78ad8f..0e1edd5 100644
--- a/asterix-app/src/test/resources/runtimets/results/cross-dataverse/join_across_dataverses/join_across_dataverses.1.adm
+++ b/asterix-app/src/test/resources/runtimets/results/cross-dataverse/join_across_dataverses/join_across_dataverses.1.adm
@@ -1,3 +1,3 @@
-{ "cust_name": "Jodi Alex", "cust_age": 19, "order_total": 7.206f, "orderList": [ 10, 5 ] }
+{ "cust_name": "Jodi Alex", "cust_age": 19, "order_total": 7.206f, "orderList": [ 1, 5 ] }
{ "cust_name": "Jodi Rotruck", "cust_age": null, "order_total": 14.2326f, "orderList": [ 10, 775 ] }
{ "cust_name": "Jodi Rotruck", "cust_age": null, "order_total": 97.20656f, "orderList": [ 1000, 775 ] }
diff --git a/asterix-app/src/test/resources/runtimets/results/custord/join_q_01/join_q_01.1.adm b/asterix-app/src/test/resources/runtimets/results/custord/join_q_01/join_q_01.1.adm
index e78ad8f..0e1edd5 100644
--- a/asterix-app/src/test/resources/runtimets/results/custord/join_q_01/join_q_01.1.adm
+++ b/asterix-app/src/test/resources/runtimets/results/custord/join_q_01/join_q_01.1.adm
@@ -1,3 +1,3 @@
-{ "cust_name": "Jodi Alex", "cust_age": 19, "order_total": 7.206f, "orderList": [ 10, 5 ] }
+{ "cust_name": "Jodi Alex", "cust_age": 19, "order_total": 7.206f, "orderList": [ 1, 5 ] }
{ "cust_name": "Jodi Rotruck", "cust_age": null, "order_total": 14.2326f, "orderList": [ 10, 775 ] }
{ "cust_name": "Jodi Rotruck", "cust_age": null, "order_total": 97.20656f, "orderList": [ 1000, 775 ] }
diff --git a/asterix-app/src/test/resources/runtimets/results/custord/join_q_02/join_q_02.1.adm b/asterix-app/src/test/resources/runtimets/results/custord/join_q_02/join_q_02.1.adm
index a24c6d7..5c955c3 100644
--- a/asterix-app/src/test/resources/runtimets/results/custord/join_q_02/join_q_02.1.adm
+++ b/asterix-app/src/test/resources/runtimets/results/custord/join_q_02/join_q_02.1.adm
@@ -1,3 +1,3 @@
-{ "cust_name": "Jodi Alex", "order_total": 7.206f, "orderedlist": [ 10, 48, 5 ], "unorderedlist": {{ 10, 48, 5 }} }
+{ "cust_name": "Jodi Alex", "order_total": 7.206f, "orderedlist": [ 1, 48, 5 ], "unorderedlist": {{ 1, 48, 5 }} }
{ "cust_name": "Jodi Rotruck", "order_total": 14.2326f, "orderedlist": [ 10, 66, 775 ], "unorderedlist": {{ 10, 66, 775 }} }
{ "cust_name": "Jodi Rotruck", "order_total": 97.20656f, "orderedlist": [ 1000, 66, 775 ], "unorderedlist": {{ 1000, 66, 775 }} }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/custord/join_q_03/join_q_03.1.adm b/asterix-app/src/test/resources/runtimets/results/custord/join_q_03/join_q_03.1.adm
index 5583a3f..6bbd9f5 100644
--- a/asterix-app/src/test/resources/runtimets/results/custord/join_q_03/join_q_03.1.adm
+++ b/asterix-app/src/test/resources/runtimets/results/custord/join_q_03/join_q_03.1.adm
@@ -1,3 +1,3 @@
-{ "cust_name": "Jodi Alex", "order_total": 7.206f, "orderedlist": [ 10, 48, 5 ], "unorderedlist": {{ 10, 48, 5 }}, "ol_item1": 10, "ol_item2": 48, "ol_item5": null, "ul_item1": 10 }
+{ "cust_name": "Jodi Alex", "order_total": 7.206f, "orderedlist": [ 1, 48, 5 ], "unorderedlist": {{ 1, 48, 5 }}, "ol_item1": 1, "ol_item2": 48, "ol_item5": null, "ul_item1": 1 }
{ "cust_name": "Jodi Rotruck", "order_total": 14.2326f, "orderedlist": [ 10, 66, 775 ], "unorderedlist": {{ 10, 66, 775 }}, "ol_item1": 10, "ol_item2": 66, "ol_item5": null, "ul_item1": 10 }
{ "cust_name": "Jodi Rotruck", "order_total": 97.20656f, "orderedlist": [ 1000, 66, 775 ], "unorderedlist": {{ 1000, 66, 775 }}, "ol_item1": 1000, "ol_item2": 66, "ol_item5": null, "ul_item1": 1000 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/custord/join_q_04/join_q_04.1.adm b/asterix-app/src/test/resources/runtimets/results/custord/join_q_04/join_q_04.1.adm
index 51f998a..c5cd404 100644
--- a/asterix-app/src/test/resources/runtimets/results/custord/join_q_04/join_q_04.1.adm
+++ b/asterix-app/src/test/resources/runtimets/results/custord/join_q_04/join_q_04.1.adm
@@ -1,4 +1,4 @@
-{ "cust_name": "Jodi Alex", "order_ids": [ 10 ] }
+{ "cust_name": "Jodi Alex", "order_ids": [ 1 ] }
{ "cust_name": "Jodi Rotruck", "order_ids": [ 10, 1000 ] }
{ "cust_name": "Mary Carey", "order_ids": [ ] }
{ "cust_name": "Mike Carey", "order_ids": [ ] }
diff --git a/asterix-app/src/test/resources/runtimets/results/custord/order_q_01/order_q_01.1.adm b/asterix-app/src/test/resources/runtimets/results/custord/order_q_01/order_q_01.1.adm
index 276d94b..d606b89 100644
--- a/asterix-app/src/test/resources/runtimets/results/custord/order_q_01/order_q_01.1.adm
+++ b/asterix-app/src/test/resources/runtimets/results/custord/order_q_01/order_q_01.1.adm
@@ -1,4 +1,4 @@
{ "oid": 1000, "cid": 775, "orderstatus": "ORDER_DELIVERED", "orderpriority": "LOW", "clerk": "Kathryne", "total": 97.20656f, "items": [ 1, 2, 4, 5, 6 ], "heList": [ "1.0f", "yassser" ], "openlist": [ 11, 14, "yasir", 1.6f ], "loc": point("10.1,11.1"), "line": line("10.1,11.1 10.2,11.2"), "poly": polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), "DOB": "1989-10-12", "favnumbers": [ 10.0d, 20.0d, 30.0d, 40.0d ] }
-{ "oid": 10, "cid": 5, "orderstatus": "ORDER_DELIVERED", "orderpriority": "HIGH", "clerk": "ALEX", "total": 7.206f, "items": [ 13, 52, 24, 15, 60 ], "heList": [ 1.0f, "5.2f", "60" ], "openlist": [ 13231, "foo", null, 13.25d, 13.2f ], "loc": point("10.1,11.1"), "line": line("10.1,11.1 10.2,11.2"), "poly": polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), "DOB": "1989-10-12", "favnumbers": [ 10.0d, 20.0d, 30.0d, 40.0d, 50.0d, 60.0d, 70.0d ] }
+{ "oid": 1, "cid": 5, "orderstatus": "ORDER_DELIVERED", "orderpriority": "HIGH", "clerk": "ALEX", "total": 7.206f, "items": [ 13, 52, 24, 15, 60 ], "heList": [ 1.0f, "5.2f", "60" ], "openlist": [ 13231, "foo", null, 13.25d, 13.2f ], "loc": point("10.1,11.1"), "line": line("10.1,11.1 10.2,11.2"), "poly": polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), "DOB": "1989-10-12", "favnumbers": [ 10.0d, 20.0d, 30.0d, 40.0d, 50.0d, 60.0d, 70.0d ] }
{ "oid": 100, "cid": 12, "orderstatus": "ORDER_DELIVERED", "orderpriority": "HIGH", "clerk": "YASSER", "total": 124.26f, "items": [ 13, 52, 60 ], "heList": [ 1.3f, 5.2f, "60", 12.32f ], "openlist": [ 10, 2.0f, 3.0d, 40 ], "loc": point("10.1,11.1"), "line": line("10.1,11.1 10.2,11.2"), "poly": polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), "DOB": "1989-10-12", "favnumbers": [ 10.0d, 50.0d, 60.0d, 70.0d ] }
{ "oid": 10, "cid": 775, "orderstatus": "ORDER_DELIVERED", "orderpriority": "HIGH", "clerk": "MIKE", "total": 14.2326f, "items": [ 24, 15 ], "heList": [ 2.4f, "15" ], "openlist": [ 110 ], "loc": point("10.1,11.1"), "line": line("10.1,11.1 10.2,11.2"), "poly": polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), "lastorder": { "oid": 75, "total": 87.61863f } }
diff --git a/asterix-app/src/test/resources/runtimets/results/custord/order_q_03/order_q_03.1.adm b/asterix-app/src/test/resources/runtimets/results/custord/order_q_03/order_q_03.1.adm
index 4e02c4b..b766274 100644
--- a/asterix-app/src/test/resources/runtimets/results/custord/order_q_03/order_q_03.1.adm
+++ b/asterix-app/src/test/resources/runtimets/results/custord/order_q_03/order_q_03.1.adm
@@ -1,4 +1,4 @@
{ "orderid": 1000, "ordertot": 97.20656f, "list": [ "ORDER_DELIVERED", "Kathryne" ], "item1": "ORDER_DELIVERED", "item2": "Kathryne", "item3": null }
-{ "orderid": 10, "ordertot": 7.206f, "list": [ "ORDER_DELIVERED", "ALEX" ], "item1": "ORDER_DELIVERED", "item2": "ALEX", "item3": null }
+{ "orderid": 1, "ordertot": 7.206f, "list": [ "ORDER_DELIVERED", "ALEX" ], "item1": "ORDER_DELIVERED", "item2": "ALEX", "item3": null }
{ "orderid": 100, "ordertot": 124.26f, "list": [ "ORDER_DELIVERED", "YASSER" ], "item1": "ORDER_DELIVERED", "item2": "YASSER", "item3": null }
{ "orderid": 10, "ordertot": 14.2326f, "list": [ "ORDER_DELIVERED", "MIKE" ], "item1": "ORDER_DELIVERED", "item2": "MIKE", "item3": null }
diff --git a/asterix-app/src/test/resources/runtimets/results/custord/order_q_04/order_q_04.1.adm b/asterix-app/src/test/resources/runtimets/results/custord/order_q_04/order_q_04.1.adm
index 3992f7d..aa5c557 100644
--- a/asterix-app/src/test/resources/runtimets/results/custord/order_q_04/order_q_04.1.adm
+++ b/asterix-app/src/test/resources/runtimets/results/custord/order_q_04/order_q_04.1.adm
@@ -1,4 +1,4 @@
{ "orderid": 1000, "ordertot": 97.20656f, "list": [ [ "1.0f", "yassser" ], [ 11, 14, "yasir", 1.6f ], point("10.1,11.1"), line("10.1,11.1 10.2,11.2"), polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), null ], "item1": [ "1.0f", "yassser" ], "item2": [ 11, 14, "yasir", 1.6f ], "item5": null, "item10": null }
-{ "orderid": 10, "ordertot": 7.206f, "list": [ [ 1.0f, "5.2f", "60" ], [ 13231, "foo", null, 13.25d, 13.2f ], point("10.1,11.1"), line("10.1,11.1 10.2,11.2"), polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), null ], "item1": [ 1.0f, "5.2f", "60" ], "item2": [ 13231, "foo", null, 13.25d, 13.2f ], "item5": null, "item10": null }
+{ "orderid": 1, "ordertot": 7.206f, "list": [ [ 1.0f, "5.2f", "60" ], [ 13231, "foo", null, 13.25d, 13.2f ], point("10.1,11.1"), line("10.1,11.1 10.2,11.2"), polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), null ], "item1": [ 1.0f, "5.2f", "60" ], "item2": [ 13231, "foo", null, 13.25d, 13.2f ], "item5": null, "item10": null }
{ "orderid": 100, "ordertot": 124.26f, "list": [ [ 1.3f, 5.2f, "60", 12.32f ], [ 10, 2.0f, 3.0d, 40 ], point("10.1,11.1"), line("10.1,11.1 10.2,11.2"), polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), null ], "item1": [ 1.3f, 5.2f, "60", 12.32f ], "item2": [ 10, 2.0f, 3.0d, 40 ], "item5": null, "item10": null }
{ "orderid": 10, "ordertot": 14.2326f, "list": [ [ 2.4f, "15" ], [ 110 ], point("10.1,11.1"), line("10.1,11.1 10.2,11.2"), polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), { "oid": 75, "total": 87.61863f } ], "item1": [ 2.4f, "15" ], "item2": [ 110 ], "item5": { "oid": 75, "total": 87.61863f }, "item10": null }
diff --git a/asterix-app/src/test/resources/runtimets/results/custord/order_q_05/order_q_05.1.adm b/asterix-app/src/test/resources/runtimets/results/custord/order_q_05/order_q_05.1.adm
index 4d8b37c..4d0e0c0 100644
--- a/asterix-app/src/test/resources/runtimets/results/custord/order_q_05/order_q_05.1.adm
+++ b/asterix-app/src/test/resources/runtimets/results/custord/order_q_05/order_q_05.1.adm
@@ -1,4 +1,4 @@
{ "orderid": 1000, "ordertot": 97.20656f, "emptyorderedlist": [ ], "emptyunorderedlist": {{ }}, "olist_item1": null, "olist_item5": null, "ulist_item1": null }
-{ "orderid": 10, "ordertot": 7.206f, "emptyorderedlist": [ ], "emptyunorderedlist": {{ }}, "olist_item1": null, "olist_item5": null, "ulist_item1": null }
+{ "orderid": 1, "ordertot": 7.206f, "emptyorderedlist": [ ], "emptyunorderedlist": {{ }}, "olist_item1": null, "olist_item5": null, "ulist_item1": null }
{ "orderid": 100, "ordertot": 124.26f, "emptyorderedlist": [ ], "emptyunorderedlist": {{ }}, "olist_item1": null, "olist_item5": null, "ulist_item1": null }
{ "orderid": 10, "ordertot": 14.2326f, "emptyorderedlist": [ ], "emptyunorderedlist": {{ }}, "olist_item1": null, "olist_item5": null, "ulist_item1": null }
diff --git a/asterix-app/src/test/resources/runtimets/results/index-join/btree-primary-equi-join/btree-primary-equi-join.1.adm b/asterix-app/src/test/resources/runtimets/results/index-join/btree-primary-equi-join/btree-primary-equi-join.1.adm
index bc2a454..10260c7 100644
--- a/asterix-app/src/test/resources/runtimets/results/index-join/btree-primary-equi-join/btree-primary-equi-join.1.adm
+++ b/asterix-app/src/test/resources/runtimets/results/index-join/btree-primary-equi-join/btree-primary-equi-join.1.adm
@@ -1,3 +1,3 @@
-{ "cid": 5, "oid": 10 }
+{ "cid": 5, "oid": 1 }
{ "cid": 775, "oid": 10 }
{ "cid": 775, "oid": 1000 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/testsuite.xml b/asterix-app/src/test/resources/runtimets/testsuite.xml
index 7571664..d099b83 100644
--- a/asterix-app/src/test/resources/runtimets/testsuite.xml
+++ b/asterix-app/src/test/resources/runtimets/testsuite.xml
@@ -965,11 +965,6 @@
</compilation-unit>
</test-case>
<test-case FilePath="dml">
- <compilation-unit name="empty-load">
- <output-dir compare="Text">empty-load</output-dir>
- </compilation-unit>
- </test-case>
- <test-case FilePath="dml">
<compilation-unit name="insert-into-empty-dataset-with-index">
<output-dir compare="Text">insert-into-empty-dataset-with-index</output-dir>
</compilation-unit>
diff --git a/asterix-installer/ittest/asterix-lifecycle_backupRestore.adm b/asterix-installer/ittest/asterix-lifecycle_backupRestore.adm
index b74416d..8605e82 100644
--- a/asterix-installer/ittest/asterix-lifecycle_backupRestore.adm
+++ b/asterix-installer/ittest/asterix-lifecycle_backupRestore.adm
@@ -1 +1 @@
-{ "DataverseName": "backupDataverse", "DataFormat": "edu.uci.ics.asterix.runtime.formats.NonTaggedDataFormat", "Timestamp": "Thu Jun 06 10:29:23 PDT 2013", "PendingOp": 0 }
+{ "DataverseName": "backupDataverse", "DataFormat": "edu.uci.ics.asterix.runtime.formats.NonTaggedDataFormat", "Timestamp": "Sun Jun 23 23:30:46 PDT 2013", "PendingOp": 0 }
diff --git a/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/AqlMetadataProvider.java b/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/AqlMetadataProvider.java
index ee01a19..d9c76e6 100644
--- a/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/AqlMetadataProvider.java
+++ b/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/AqlMetadataProvider.java
@@ -798,8 +798,8 @@
TreeIndexBulkLoadOperatorDescriptor btreeBulkLoad = new TreeIndexBulkLoadOperatorDescriptor(spec,
appContext.getStorageManagerInterface(), appContext.getIndexLifecycleManagerProvider(),
splitsAndConstraint.first, typeTraits, comparatorFactories, bloomFilterKeyFields, fieldPermutation,
- GlobalConfig.DEFAULT_BTREE_FILL_FACTOR, false, numElementsHint, new LSMBTreeDataflowHelperFactory(
- new AsterixVirtualBufferCacheProvider(dataset.getDatasetId()),
+ GlobalConfig.DEFAULT_BTREE_FILL_FACTOR, false, numElementsHint, true,
+ new LSMBTreeDataflowHelperFactory(new AsterixVirtualBufferCacheProvider(dataset.getDatasetId()),
AsterixRuntimeComponentsProvider.LSMBTREE_PRIMARY_PROVIDER,
new PrimaryIndexOperationTrackerProvider(dataset.getDatasetId()),
AsterixRuntimeComponentsProvider.LSMBTREE_PRIMARY_PROVIDER,