Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<bullet.record.version>1.1.1</bullet.record.version>
<bullet.record.version>1.1.3</bullet.record.version>
<sketches.version>0.9.1</sketches.version>
</properties>

Expand Down
11 changes: 6 additions & 5 deletions src/main/java/com/yahoo/bullet/common/BulletConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -348,24 +348,25 @@ public BulletConfig() {
}

/**
* Construct a {@link BulletRecordProvider} and store it in this BulletConfig instance.
* Create a {@link BulletRecordProvider} and store it in this BulletConfig instance. If the provider is changed,
* this method should be called before {@link BulletConfig#getBulletRecordProvider()} is called again.
*
* @return The BulletRecordProvider instance.
*/
public BulletRecordProvider getBulletRecordProvider() {
public BulletRecordProvider createBulletRecordProvider() {
provider = BulletRecordProvider.from(getAs(RECORD_PROVIDER_CLASS_NAME, String.class));
return provider;
}

/**
* Get the {@link BulletRecordProvider} stored in this BulletConfig instance, or construct and store one first if
* Get the {@link BulletRecordProvider} stored in this BulletConfig instance, or create and store one first if
* there is none.
*
* @return The BulletRecordProvider instance.
*/
public BulletRecordProvider getCachedBulletRecordProvider() {
public BulletRecordProvider getBulletRecordProvider() {
if (provider == null) {
return getBulletRecordProvider();
return createBulletRecordProvider();
}
return provider;
}
Expand Down
20 changes: 10 additions & 10 deletions src/test/java/com/yahoo/bullet/common/BulletConfigTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -459,13 +459,13 @@ public void testValidatorIsACopy() {
}

@Test
public void testGetBulletRecordProvider() {
public void testCreateBulletRecordProvider() {
BulletConfig config = new BulletConfig();
BulletRecordProvider providerA = config.getBulletRecordProvider();
BulletRecordProvider providerB = config.getBulletRecordProvider();
BulletRecordProvider providerA = config.createBulletRecordProvider();
BulletRecordProvider providerB = config.createBulletRecordProvider();

// Creates a new provider each time
Assert.assertNotEquals(providerA, providerB);
Assert.assertNotSame(providerA, providerB);

// Ensure the provider generates new records each time
BulletRecord recordA = providerA.getInstance();
Expand All @@ -480,10 +480,10 @@ public void testGetBulletRecordProvider() {
}

@Test
public void testGetCachedBulletRecordProvider() {
public void testGetBulletRecordProvider() {
BulletConfig config = new BulletConfig();
BulletRecordProvider providerA = config.getCachedBulletRecordProvider();
BulletRecordProvider providerB = config.getCachedBulletRecordProvider();
BulletRecordProvider providerA = config.getBulletRecordProvider();
BulletRecordProvider providerB = config.getBulletRecordProvider();

// Uses the same provider
Assert.assertSame(providerA, providerB);
Expand All @@ -494,14 +494,14 @@ public void testSettingDifferentBulletRecordProvider() {
BulletConfig config = new BulletConfig();

// Default record provider is TypedAvroBulletRecordProvider
Assert.assertTrue(config.getBulletRecordProvider() instanceof TypedAvroBulletRecordProvider);
Assert.assertTrue(config.createBulletRecordProvider() instanceof TypedAvroBulletRecordProvider);

config.set(BulletConfig.RECORD_PROVIDER_CLASS_NAME, TypedSimpleBulletRecordProvider.class.getName());

// Cached record provider doesn't change with new setting
Assert.assertTrue(config.getCachedBulletRecordProvider() instanceof TypedAvroBulletRecordProvider);
Assert.assertTrue(config.getBulletRecordProvider() instanceof TypedAvroBulletRecordProvider);

Assert.assertTrue(config.getBulletRecordProvider() instanceof TypedSimpleBulletRecordProvider);
Assert.assertTrue(config.createBulletRecordProvider() instanceof TypedSimpleBulletRecordProvider);
}

@Test(expectedExceptions = IllegalStateException.class)
Expand Down