From a776166cc4a3876976787a337ca1d90cc8fc11d5 Mon Sep 17 00:00:00 2001 From: MishaDemianenko Date: Thu, 20 Apr 2017 11:20:23 +0200 Subject: [PATCH] Index duplicate verification failure. Lets try to duplicate property value holder instead of reference it twice. --- ...uceneSchemaIndexUniquenessVerificationIT.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/index/LuceneSchemaIndexUniquenessVerificationIT.java b/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/index/LuceneSchemaIndexUniquenessVerificationIT.java index 3ccdcd83a80b0..348f956b96511 100644 --- a/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/index/LuceneSchemaIndexUniquenessVerificationIT.java +++ b/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/index/LuceneSchemaIndexUniquenessVerificationIT.java @@ -401,19 +401,29 @@ else if ( data.size() == 1 ) } else { - int duplicateIndex = (int) randomLongInRange( 0, data.size() ); + int duplicateIndex = randomIntInRange( 0, data.size() ); int duplicateValueIndex; do { duplicateValueIndex = ThreadLocalRandom.current().nextInt( data.size() ); } while ( duplicateValueIndex == duplicateIndex ); - PropertyValue duplicateValue = data.get( duplicateValueIndex ); - data.set( duplicateIndex, duplicateValue ); + PropertyValue duplicate = duplicatePropertyValue( data.get( duplicateValueIndex ) ); + data.set( duplicateIndex, duplicate ); } return data; } + private static PropertyValue duplicatePropertyValue( PropertyValue propertyValue ) + { + return new PropertyValue( propertyValue.value ); + } + + private static int randomIntInRange( int min, int max ) + { + return ThreadLocalRandom.current().nextInt( min, max ); + } + private static long randomLongInRange( long min, long max ) { return ThreadLocalRandom.current().nextLong( min, max );