Skip to content

Commit

Permalink
Convert all duration settings from Long to Duration
Browse files Browse the repository at this point in the history
  • Loading branch information
spacecowboy committed May 29, 2017
1 parent 6f0b4d8 commit 8e6208c
Show file tree
Hide file tree
Showing 54 changed files with 212 additions and 166 deletions.
Expand Up @@ -21,7 +21,6 @@


import java.time.Clock; import java.time.Clock;
import java.time.Duration; import java.time.Duration;
import java.util.function.Supplier;


import org.neo4j.bolt.security.auth.Authentication; import org.neo4j.bolt.security.auth.Authentication;
import org.neo4j.graphdb.DependencyResolver; import org.neo4j.graphdb.DependencyResolver;
Expand All @@ -33,7 +32,6 @@
import org.neo4j.kernel.impl.core.ThreadToStatementContextBridge; import org.neo4j.kernel.impl.core.ThreadToStatementContextBridge;
import org.neo4j.kernel.impl.logging.LogService; import org.neo4j.kernel.impl.logging.LogService;
import org.neo4j.kernel.impl.query.QueryExecutionEngine; import org.neo4j.kernel.impl.query.QueryExecutionEngine;
import org.neo4j.kernel.impl.transaction.log.TransactionIdStore;
import org.neo4j.kernel.internal.GraphDatabaseAPI; import org.neo4j.kernel.internal.GraphDatabaseAPI;
import org.neo4j.kernel.lifecycle.LifecycleAdapter; import org.neo4j.kernel.lifecycle.LifecycleAdapter;
import org.neo4j.udc.UsageData; import org.neo4j.udc.UsageData;
Expand Down Expand Up @@ -94,7 +92,7 @@ public BoltStateMachine newMachine( BoltConnectionDescriptor connectionDescripto


private TransactionStateMachine.SPI createTxSpi( Clock clock ) private TransactionStateMachine.SPI createTxSpi( Clock clock )
{ {
long bookmarkReadyTimeout = config.get( GraphDatabaseSettings.bookmark_ready_timeout ); long bookmarkReadyTimeout = config.get( GraphDatabaseSettings.bookmark_ready_timeout ).toMillis();
Duration txAwaitDuration = Duration.ofMillis( bookmarkReadyTimeout ); Duration txAwaitDuration = Duration.ofMillis( bookmarkReadyTimeout );


return new TransactionStateMachineSPI( gds, txBridge, queryExecutionEngine, return new TransactionStateMachineSPI( gds, txBridge, queryExecutionEngine,
Expand Down
Expand Up @@ -20,8 +20,8 @@
package org.neo4j.graphdb.factory; package org.neo4j.graphdb.factory;


import java.io.File; import java.io.File;
import java.time.Duration;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit;


import org.neo4j.configuration.Description; import org.neo4j.configuration.Description;
import org.neo4j.configuration.Internal; import org.neo4j.configuration.Internal;
Expand Down Expand Up @@ -215,7 +215,7 @@ public class GraphDatabaseSettings implements LoadableConfig
"unsupported.cypher.idp_solver_duration_threshold", LONG, "1000", min( 10L ) ); "unsupported.cypher.idp_solver_duration_threshold", LONG, "1000", min( 10L ) );


@Description("The minimum lifetime of a query plan before a query is considered for replanning") @Description("The minimum lifetime of a query plan before a query is considered for replanning")
public static Setting<Long> cypher_min_replan_interval = setting( "cypher.min_replan_interval", DURATION, "10s" ); public static Setting<Duration> cypher_min_replan_interval = setting( "cypher.min_replan_interval", DURATION, "10s" );


@Description( "Determines if Cypher will allow using file URLs when loading data using `LOAD CSV`. Setting this " @Description( "Determines if Cypher will allow using file URLs when loading data using `LOAD CSV`. Setting this "
+ "value to `false` will cause Neo4j to fail `LOAD CSV` clauses that load data from the file system." ) + "value to `false` will cause Neo4j to fail `LOAD CSV` clauses that load data from the file system." )
Expand All @@ -237,7 +237,7 @@ public class GraphDatabaseSettings implements LoadableConfig
@Description( "The maximum amount of time to wait for the database to become available, when " + @Description( "The maximum amount of time to wait for the database to become available, when " +
"starting a new transaction." ) "starting a new transaction." )
@Internal @Internal
public static final Setting<Long> transaction_start_timeout = public static final Setting<Duration> transaction_start_timeout =
setting( "unsupported.dbms.transaction_start_timeout", DURATION, "1s" ); setting( "unsupported.dbms.transaction_start_timeout", DURATION, "1s" );


@Internal @Internal
Expand All @@ -247,15 +247,16 @@ public class GraphDatabaseSettings implements LoadableConfig
public static final Setting<Boolean> execution_guard_enabled = setting("unsupported.dbms.executiontime_limit.enabled", BOOLEAN, FALSE ); public static final Setting<Boolean> execution_guard_enabled = setting("unsupported.dbms.executiontime_limit.enabled", BOOLEAN, FALSE );


@Description("The maximum time interval of a transaction within which it should be completed.") @Description("The maximum time interval of a transaction within which it should be completed.")
public static final Setting<Long> transaction_timeout = setting( "dbms.transaction.timeout", DURATION, String.valueOf( UNSPECIFIED_TIMEOUT ) ); public static final Setting<Duration> transaction_timeout = setting( "dbms.transaction.timeout", DURATION, String
.valueOf( UNSPECIFIED_TIMEOUT ) );


@Description( "The maximum time interval within which lock should be acquired." ) @Description( "The maximum time interval within which lock should be acquired." )
public static final Setting<Long> lock_acquisition_timeout = setting( "dbms.lock.acquisition.timeout", DURATION, public static final Setting<Duration> lock_acquisition_timeout = setting( "dbms.lock.acquisition.timeout", DURATION,
String.valueOf( UNSPECIFIED_TIMEOUT ) ); String.valueOf( UNSPECIFIED_TIMEOUT ) );


@Description( "The maximum amount of time to wait for running transactions to complete before allowing " @Description( "The maximum amount of time to wait for running transactions to complete before allowing "
+ "initiated database shutdown to continue" ) + "initiated database shutdown to continue" )
public static final Setting<Long> shutdown_transaction_end_timeout = public static final Setting<Duration> shutdown_transaction_end_timeout =
setting( "dbms.shutdown_transaction_end_timeout", DURATION, "10s" ); setting( "dbms.shutdown_transaction_end_timeout", DURATION, "10s" );


@Description("Location of the database plugin directory. Compiled Java JAR files that contain database " + @Description("Location of the database plugin directory. Compiled Java JAR files that contain database " +
Expand All @@ -276,11 +277,11 @@ public class GraphDatabaseSettings implements LoadableConfig


@Description( "Maximum time to wait for active transaction completion when rotating counts store" ) @Description( "Maximum time to wait for active transaction completion when rotating counts store" )
@Internal @Internal
public static final Setting<Long> counts_store_rotation_timeout = public static final Setting<Duration> counts_store_rotation_timeout =
setting( "unsupported.dbms.counts_store_rotation_timeout", DURATION, "10m" ); setting( "unsupported.dbms.counts_store_rotation_timeout", DURATION, "10m" );


@Description( "Minimum time interval after last rotation of the debug log before it may be rotated again." ) @Description( "Minimum time interval after last rotation of the debug log before it may be rotated again." )
public static final Setting<Long> store_internal_log_rotation_delay = public static final Setting<Duration> store_internal_log_rotation_delay =
setting("dbms.logs.debug.rotation.delay", DURATION, "300s" ); setting("dbms.logs.debug.rotation.delay", DURATION, "300s" );


@Description( "Maximum number of history files for the debug log." ) @Description( "Maximum number of history files for the debug log." )
Expand All @@ -304,7 +305,7 @@ public class GraphDatabaseSettings implements LoadableConfig
"of a crash. On the other hand, a longer check-point interval can also reduce the I/O load that " + "of a crash. On the other hand, a longer check-point interval can also reduce the I/O load that " +
"the database places on the system, as each check-point implies a flushing and forcing of all the " + "the database places on the system, as each check-point implies a flushing and forcing of all the " +
"store files." ) "store files." )
public static final Setting<Long> check_point_interval_time = setting( "dbms.checkpoint.interval.time", DURATION, "15m" ); public static final Setting<Duration> check_point_interval_time = setting( "dbms.checkpoint.interval.time", DURATION, "15m" );


@Description( "Limit the number of IOs the background checkpoint process will consume per second. " + @Description( "Limit the number of IOs the background checkpoint process will consume per second. " +
"This setting is advisory, is ignored in Neo4j Community Edition, and is followed to " + "This setting is advisory, is ignored in Neo4j Community Edition, and is followed to " +
Expand Down Expand Up @@ -458,13 +459,13 @@ public class GraphDatabaseSettings implements LoadableConfig
@SuppressWarnings( "unused" ) @SuppressWarnings( "unused" )
@Description("Amount of time in ms the GC monitor thread will wait before taking another measurement.") @Description("Amount of time in ms the GC monitor thread will wait before taking another measurement.")
@Internal @Internal
public static final Setting<Long> gc_monitor_interval = MonitorGc.Configuration.gc_monitor_wait_time; public static final Setting<Duration> gc_monitor_interval = MonitorGc.Configuration.gc_monitor_wait_time;


@SuppressWarnings( "unused" ) @SuppressWarnings( "unused" )
@Description("The amount of time in ms the monitor thread has to be blocked before logging a message it was " + @Description("The amount of time in ms the monitor thread has to be blocked before logging a message it was " +
"blocked.") "blocked.")
@Internal @Internal
public static final Setting<Long> gc_monitor_block_threshold = MonitorGc.Configuration.gc_monitor_threshold; public static final Setting<Duration> gc_monitor_block_threshold = MonitorGc.Configuration.gc_monitor_threshold;


@Description( "Relationship count threshold for considering a node to be dense" ) @Description( "Relationship count threshold for considering a node to be dense" )
public static final Setting<Integer> dense_node_threshold = setting( "dbms.relationship_grouping_threshold", INTEGER, "50", min(1) ); public static final Setting<Integer> dense_node_threshold = setting( "dbms.relationship_grouping_threshold", INTEGER, "50", min(1) );
Expand Down Expand Up @@ -498,7 +499,7 @@ public class GraphDatabaseSettings implements LoadableConfig


@Description("If the execution of query takes more time than this threshold, the query is logged - " + @Description("If the execution of query takes more time than this threshold, the query is logged - " +
"provided query logging is enabled. Defaults to 0 seconds, that is all queries are logged.") "provided query logging is enabled. Defaults to 0 seconds, that is all queries are logged.")
public static final Setting<Long> log_queries_threshold = setting("dbms.logs.query.threshold", DURATION, "0s"); public static final Setting<Duration> log_queries_threshold = setting("dbms.logs.query.threshold", DURATION, "0s");


@Description( "The file size in bytes at which the query log will auto-rotate. If set to zero then no rotation " + @Description( "The file size in bytes at which the query log will auto-rotate. If set to zero then no rotation " +
"will occur. Accepts a binary suffix `k`, `m` or `g`." ) "will occur. Accepts a binary suffix `k`, `m` or `g`." )
Expand Down Expand Up @@ -592,9 +593,9 @@ public enum LabelIndex
public static final BoltConnectorValidator boltValidator = new BoltConnectorValidator(); public static final BoltConnectorValidator boltValidator = new BoltConnectorValidator();


@Description( "The maximum amount of time to wait for the database state represented by the bookmark." ) @Description( "The maximum amount of time to wait for the database state represented by the bookmark." )
public static final Setting<Long> bookmark_ready_timeout = setting( public static final Setting<Duration> bookmark_ready_timeout = setting(
"dbms.transaction.bookmark_ready_timeout", DURATION, "30s", "dbms.transaction.bookmark_ready_timeout", DURATION, "30s",
min( TimeUnit.SECONDS.toMillis( 1 ) ) ); min( Duration.ofSeconds( 1 ) ) );


// Needed to validate config, accessed via reflection // Needed to validate config, accessed via reflection
@SuppressWarnings( "unused" ) @SuppressWarnings( "unused" )
Expand Down
Expand Up @@ -651,7 +651,7 @@ private NeoStoreTransactionLogModule buildTransactionLogs(
final CountCommittedTransactionThreshold countCommittedTransactionThreshold = final CountCommittedTransactionThreshold countCommittedTransactionThreshold =
new CountCommittedTransactionThreshold( txThreshold ); new CountCommittedTransactionThreshold( txThreshold );


long timeMillisThreshold = config.get( GraphDatabaseSettings.check_point_interval_time ); long timeMillisThreshold = config.get( GraphDatabaseSettings.check_point_interval_time ).toMillis();
TimeCheckPointThreshold timeCheckPointThreshold = new TimeCheckPointThreshold( timeMillisThreshold, clock ); TimeCheckPointThreshold timeCheckPointThreshold = new TimeCheckPointThreshold( timeMillisThreshold, clock );


CheckPointThreshold threshold = CheckPointThreshold threshold =
Expand Down
Expand Up @@ -24,6 +24,7 @@
import java.io.File; import java.io.File;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.time.Duration;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.EnumSet; import java.util.EnumSet;
Expand Down Expand Up @@ -499,12 +500,12 @@ public String toString()
} }
}; };


public static final Function<String, Long> DURATION = new Function<String, Long>() public static final Function<String,Duration> DURATION = new Function<String, Duration>()
{ {
@Override @Override
public Long apply( String value ) public Duration apply( String value )
{ {
return TimeUtil.parseTimeMillis.apply( value ); return Duration.ofMillis( TimeUtil.parseTimeMillis.apply( value ) );
} }


@Override @Override
Expand Down
Expand Up @@ -74,7 +74,7 @@ public Kernel( KernelTransactions transactionFactory, TransactionHooks hooks, Da
this.health = health; this.health = health;
this.transactionMonitor = transactionMonitor; this.transactionMonitor = transactionMonitor;
this.procedures = procedures; this.procedures = procedures;
this.defaultTransactionTimeout = config.get( GraphDatabaseSettings.transaction_timeout ); this.defaultTransactionTimeout = config.get( GraphDatabaseSettings.transaction_timeout ).toMillis();
} }


@Override @Override
Expand Down
Expand Up @@ -19,6 +19,8 @@
*/ */
package org.neo4j.kernel.impl.cache; package org.neo4j.kernel.impl.cache;


import java.time.Duration;

import org.neo4j.graphdb.config.Setting; import org.neo4j.graphdb.config.Setting;
import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.configuration.Config;
import org.neo4j.kernel.lifecycle.Lifecycle; import org.neo4j.kernel.lifecycle.Lifecycle;
Expand All @@ -31,8 +33,10 @@ public class MonitorGc implements Lifecycle
{ {
public static class Configuration public static class Configuration
{ {
public static final Setting<Long> gc_monitor_wait_time = setting( "unsupported.dbms.gc_monitor_wait_time", DURATION, "100ms" ); public static final Setting<Duration> gc_monitor_wait_time = setting( "unsupported.dbms.gc_monitor_wait_time",
public static final Setting<Long> gc_monitor_threshold = setting("unsupported.dbms.gc_monitor_threshold", DURATION, "200ms" ); DURATION, "100ms" );
public static final Setting<Duration> gc_monitor_threshold = setting("unsupported.dbms.gc_monitor_threshold",
DURATION, "200ms" );
} }


private final Config config; private final Config config;
Expand All @@ -53,8 +57,8 @@ public void init() throws Throwable
@Override @Override
public void start() throws Throwable public void start() throws Throwable
{ {
monitorGc = new MeasureDoNothing( "neo4j.PauseMonitor", log, config.get( Configuration.gc_monitor_wait_time ), monitorGc = new MeasureDoNothing( "neo4j.PauseMonitor", log, config.get( Configuration.gc_monitor_wait_time ).toMillis(),
config.get( Configuration.gc_monitor_threshold ) ); config.get( Configuration.gc_monitor_threshold ).toMillis() );
monitorGc.start(); monitorGc.start();
} }


Expand Down
Expand Up @@ -121,7 +121,7 @@ public CommunityEditionModule( PlatformModule platformModule )


schemaWriteGuard = createSchemaWriteGuard(); schemaWriteGuard = createSchemaWriteGuard();


transactionStartTimeout = config.get( GraphDatabaseSettings.transaction_start_timeout ); transactionStartTimeout = config.get( GraphDatabaseSettings.transaction_start_timeout ).toMillis();


constraintSemantics = createSchemaRuleVerifier(); constraintSemantics = createSchemaRuleVerifier();


Expand Down
Expand Up @@ -228,7 +228,7 @@ public DataSourceModule( final PlatformModule platformModule, EditionModule edit
life.add( nodeManager ); life.add( nodeManager );


life.add( new DatabaseAvailability( platformModule.availabilityGuard, platformModule.transactionMonitor, life.add( new DatabaseAvailability( platformModule.availabilityGuard, platformModule.transactionMonitor,
config.get( GraphDatabaseSettings.shutdown_transaction_end_timeout ) ) ); config.get( GraphDatabaseSettings.shutdown_transaction_end_timeout ).toMillis() ) );


life.add( new StartupWaiter( platformModule.availabilityGuard, editionModule.transactionStartTimeout ) ); life.add( new StartupWaiter( platformModule.availabilityGuard, editionModule.transactionStartTimeout ) );


Expand Down
Expand Up @@ -225,7 +225,7 @@ public final void init( SPI spi )
public void init( SPI spi, Guard guard, ThreadToStatementContextBridge txBridge, Config config ) public void init( SPI spi, Guard guard, ThreadToStatementContextBridge txBridge, Config config )
{ {
this.spi = spi; this.spi = spi;
this.defaultTransactionTimeout = config.get( GraphDatabaseSettings.transaction_timeout ); this.defaultTransactionTimeout = config.get( GraphDatabaseSettings.transaction_timeout ).toMillis();


Supplier<Statement> statementSupplier = spi::currentStatement; Supplier<Statement> statementSupplier = spi::currentStatement;
Supplier<KernelTransaction> transactionSupplier = spi::currentTransaction; Supplier<KernelTransaction> transactionSupplier = spi::currentTransaction;
Expand Down
Expand Up @@ -237,7 +237,7 @@ protected FileSystemAbstraction createFileSystemAbstraction()
protected LogService createLogService( LogProvider userLogProvider ) protected LogService createLogService( LogProvider userLogProvider )
{ {
long internalLogRotationThreshold = config.get( GraphDatabaseSettings.store_internal_log_rotation_threshold ); long internalLogRotationThreshold = config.get( GraphDatabaseSettings.store_internal_log_rotation_threshold );
long internalLogRotationDelay = config.get( GraphDatabaseSettings.store_internal_log_rotation_delay ); long internalLogRotationDelay = config.get( GraphDatabaseSettings.store_internal_log_rotation_delay ).toMillis();
int internalLogMaxArchives = config.get( GraphDatabaseSettings.store_internal_log_max_archives ); int internalLogMaxArchives = config.get( GraphDatabaseSettings.store_internal_log_max_archives );


final StoreLogService.Builder builder = final StoreLogService.Builder builder =
Expand Down
Expand Up @@ -47,7 +47,7 @@ public LockManagerImpl( RagManager ragManager, Config config, Clock clock )
{ {
this.ragManager = ragManager; this.ragManager = ragManager;
this.clock = clock; this.clock = clock;
this.lockAcquisitionTimeoutMillis = config.get( GraphDatabaseSettings.lock_acquisition_timeout ); this.lockAcquisitionTimeoutMillis = config.get( GraphDatabaseSettings.lock_acquisition_timeout ).toMillis();
} }


public boolean getReadLock( LockTracer tracer, LockResource resource, Object tx ) public boolean getReadLock( LockTracer tracer, LockResource resource, Object tx )
Expand Down
Expand Up @@ -123,7 +123,7 @@ public void rotationFailed( File source, File target, Headers headers, Exception
headers.get( FileVersion.FILE_VERSION ).txId, target, source ), e ); headers.get( FileVersion.FILE_VERSION ).txId, target, source ), e );
} }
}, new RotationTimerFactory( clock, }, new RotationTimerFactory( clock,
config.get( counts_store_rotation_timeout ) ), 16, 16, HEADER_FIELDS ); config.get( counts_store_rotation_timeout ).toMillis() ), 16, 16, HEADER_FIELDS );
} }


public CountsTracker setInitializer( final DataInitializer<Updater> initializer ) public CountsTracker setInitializer( final DataInitializer<Updater> initializer )
Expand Down
Expand Up @@ -19,15 +19,15 @@
*/ */
package org.neo4j.graphdb.factory; package org.neo4j.graphdb.factory;


import org.junit.Test;

import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;


import org.junit.Test;

import org.neo4j.graphdb.config.InvalidSettingException; import org.neo4j.graphdb.config.InvalidSettingException;
import org.neo4j.graphdb.config.Setting; import org.neo4j.graphdb.config.Setting;
import org.neo4j.helpers.AdvertisedSocketAddress; import org.neo4j.helpers.AdvertisedSocketAddress;
Expand Down Expand Up @@ -316,7 +316,7 @@ public void shouldBeAbleToOverrideHttpListenAddressWithJustOneParameter() throws
public void hasDefaultBookmarkAwaitTimeout() public void hasDefaultBookmarkAwaitTimeout()
{ {
Config config = Config.defaults(); Config config = Config.defaults();
long bookmarkReadyTimeoutMs = config.get( GraphDatabaseSettings.bookmark_ready_timeout ); long bookmarkReadyTimeoutMs = config.get( GraphDatabaseSettings.bookmark_ready_timeout ).toMillis();
assertEquals( TimeUnit.SECONDS.toMillis( 30 ), bookmarkReadyTimeoutMs ); assertEquals( TimeUnit.SECONDS.toMillis( 30 ), bookmarkReadyTimeoutMs );
} }


Expand Down
Expand Up @@ -19,12 +19,13 @@
*/ */
package org.neo4j.kernel.builtinprocs; package org.neo4j.kernel.builtinprocs;


import org.junit.Test;

import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;


import org.junit.Test;

import org.neo4j.collection.RawIterator; import org.neo4j.collection.RawIterator;
import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.graphdb.factory.GraphDatabaseSettings;
import org.neo4j.kernel.api.exceptions.ProcedureException; import org.neo4j.kernel.api.exceptions.ProcedureException;
Expand Down Expand Up @@ -86,4 +87,22 @@ public void listConfigWithASpecificConfigName() throws Exception
"cypher., etc). This is currently false by default but will be true by default in 4.0.", "cypher., etc). This is currently false by default but will be true by default in 4.0.",
"false" }, config.get( 0 ) ); "false" }, config.get( 0 ) );
} }

@Test
public void durationAlwaysListedWithUnit() throws Exception
{
// When
RawIterator<Object[],ProcedureException> stream =
dbmsOperations().procedureCallDbms( procedureName( "dbms", "listConfig" ),
Collections.singletonList( GraphDatabaseSettings.transaction_timeout.name() ).toArray(),
SecurityContext.AUTH_DISABLED );

// Then
List<Object[]> config = asList( stream );

assertEquals( 1, config.size() );
assertArrayEquals( new Object[]{ "dbms.transaction.timeout",
"The maximum time interval of a transaction within which it should be completed.",
"0s" }, config.get( 0 ) );
}
} }
Expand Up @@ -23,6 +23,7 @@


import java.io.File; import java.io.File;
import java.net.URI; import java.net.URI;
import java.time.Duration;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
Expand Down Expand Up @@ -254,21 +255,21 @@ public void testMatches()
public void testDurationWithBrokenDefault() public void testDurationWithBrokenDefault()
{ {
// Notice that the default value is less that the minimum // Notice that the default value is less that the minimum
Setting<Long> setting = setting( "foo.bar", DURATION, "1s", min( DURATION.apply( "3s" ) ) ); Setting<Duration> setting = setting( "foo.bar", DURATION, "1s", min( DURATION.apply( "3s" ) ) );
setting.apply( map( stringMap() ) ); setting.apply( map( stringMap() ) );
} }


@Test( expected = InvalidSettingException.class ) @Test( expected = InvalidSettingException.class )
public void testDurationWithValueNotWithinConstraint() public void testDurationWithValueNotWithinConstraint()
{ {
Setting<Long> setting = setting( "foo.bar", DURATION, "3s", min( DURATION.apply( "3s" ) ) ); Setting<Duration> setting = setting( "foo.bar", DURATION, "3s", min( DURATION.apply( "3s" ) ) );
setting.apply( map( stringMap( "foo.bar", "2s" ) ) ); setting.apply( map( stringMap( "foo.bar", "2s" ) ) );
} }


@Test @Test
public void testDuration() public void testDuration()
{ {
Setting<Long> setting = setting( "foo.bar", DURATION, "3s", min( DURATION.apply( "3s" ) ) ); Setting<Duration> setting = setting( "foo.bar", DURATION, "3s", min( DURATION.apply( "3s" ) ) );
assertThat( setting.apply( map( stringMap( "foo.bar", "4s" ) ) ), equalTo( 4000L ) ); assertThat( setting.apply( map( stringMap( "foo.bar", "4s" ) ) ), equalTo( 4000L ) );
} }


Expand Down
Expand Up @@ -84,7 +84,7 @@ public class KernelTransactionTestBase
protected final Pool<KernelTransactionImplementation> txPool = mock( Pool.class ); protected final Pool<KernelTransactionImplementation> txPool = mock( Pool.class );
protected final StatementOperationContainer operationContainer = mock( StatementOperationContainer.class ); protected final StatementOperationContainer operationContainer = mock( StatementOperationContainer.class );


private final long defaultTransactionTimeoutMillis = GraphDatabaseSettings.transaction_timeout.from( Config.defaults() ); private final long defaultTransactionTimeoutMillis = GraphDatabaseSettings.transaction_timeout.from( Config.defaults() ).toMillis();


@Before @Before
public void before() throws Exception public void before() throws Exception
Expand Down
Expand Up @@ -81,7 +81,7 @@ public void beginTransaction()
{ {
graphDatabaseFacade.beginTx(); graphDatabaseFacade.beginTx();


long timeout = Config.embeddedDefaults().get( GraphDatabaseSettings.transaction_timeout ); long timeout = Config.embeddedDefaults().get( GraphDatabaseSettings.transaction_timeout ).toMillis();
verify( spi ).beginTransaction( KernelTransaction.Type.explicit, AUTH_DISABLED, timeout ); verify( spi ).beginTransaction( KernelTransaction.Type.explicit, AUTH_DISABLED, timeout );
} }


Expand Down Expand Up @@ -109,7 +109,7 @@ public void executeQueryStartDefaultTransaction()
graphDatabaseFacade.execute( "create (n)" ); graphDatabaseFacade.execute( "create (n)" );
graphDatabaseFacade.execute( "create (n)", new HashMap<>() ); graphDatabaseFacade.execute( "create (n)", new HashMap<>() );


long timeout = Config.embeddedDefaults().get( GraphDatabaseSettings.transaction_timeout ); long timeout = Config.embeddedDefaults().get( GraphDatabaseSettings.transaction_timeout ).toMillis();
verify( spi, times( 2 ) ).beginTransaction( KernelTransaction.Type.implicit, AUTH_DISABLED, timeout ); verify( spi, times( 2 ) ).beginTransaction( KernelTransaction.Type.implicit, AUTH_DISABLED, timeout );
} }
} }

0 comments on commit 8e6208c

Please sign in to comment.