Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GEODE-6871: Disk free space info exposed via JMX #4067

Merged
merged 4 commits into from Oct 11, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -105,9 +105,10 @@ public void queueSizeStatIncrementedAfterAsyncFlush() throws Exception {
}

@Test
public void givenDiskStoreIsCreatedWithMaxSize_thenGetDiskUsagePercentageShouldBeZero()
public void givenDiskStoreIsCreatedWithMaxSize_thenDiskPercentagesShouldBeZeroAnd100()
alb3rtobr marked this conversation as resolved.
Show resolved Hide resolved
throws Exception {

final int ALLOWED_MARGIN = 1;
File[] diskDirs = new File[2];
diskDirs[0] = temporaryDirectory.newFolder("dir1");
diskDirs[1] = temporaryDirectory.newFolder("dir2");
Expand All @@ -121,13 +122,16 @@ public void givenDiskStoreIsCreatedWithMaxSize_thenGetDiskUsagePercentageShouldB
DiskStore diskStore = cache.findDiskStore(DISK_STORE_NAME);

assertEquals(0, ((DiskStoreImpl) diskStore).getDiskUsagePercentage(), 0);
assertEquals(100, ((DiskStoreImpl) diskStore).getDiskFreePercentage(),
ALLOWED_MARGIN);
}

@Test
public void givenDiskStoreIsCreatedWithMaxSize_whenDataIsStored_thenGetDiskUsagePercentageShouldBeIncreased()
public void givenDiskStoreIsCreatedWithMaxSize_whenDataIsStored_thenDiskPercentagesShouldBeModified()
alb3rtobr marked this conversation as resolved.
Show resolved Hide resolved
throws Exception {

final int ESTIMATED_USAGE_PERCENTAGE = 7; // Estimated disk percentage for NUM_ENTRIES
final int ESTIMATED_FREE_PERCENTAGE = 100 - ESTIMATED_USAGE_PERCENTAGE;
final int ALLOWED_MARGIN = 2;

File[] diskDirs = new File[2];
Expand All @@ -150,10 +154,12 @@ public void givenDiskStoreIsCreatedWithMaxSize_whenDataIsStored_thenGetDiskUsage

assertEquals(ESTIMATED_USAGE_PERCENTAGE, ((DiskStoreImpl) diskStore).getDiskUsagePercentage(),
ALLOWED_MARGIN);
assertEquals(ESTIMATED_FREE_PERCENTAGE, ((DiskStoreImpl) diskStore).getDiskFreePercentage(),
ALLOWED_MARGIN);
}

@Test
public void givenDiskStoreIsCreatedWithDefaultSize_thenGetDiskUsagePercentageShouldNotBeAvailable()
public void givenDiskStoreIsCreatedWithDefaultSize_thenDiskPercentagesShouldNotBeAvailable()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since you're already modifying the test name, can you please remove the underscores and use camel case instead?.

throws Exception {

File[] diskDirs = new File[2];
Expand All @@ -166,10 +172,12 @@ public void givenDiskStoreIsCreatedWithDefaultSize_thenGetDiskUsagePercentageSho

assertEquals(ManagementConstants.NOT_AVAILABLE_FLOAT,
((DiskStoreImpl) diskStore).getDiskUsagePercentage(), 0);
assertEquals(ManagementConstants.NOT_AVAILABLE_FLOAT,
((DiskStoreImpl) diskStore).getDiskFreePercentage(), 0);
}

@Test
public void givenDiskStoreIsCreatedWithDefaultSize_whenDataIsStored_thenGetDiskUsagePercentageShouldNotBeAvailable()
public void givenDiskStoreIsCreatedWithDefaultSize_whenDataIsStored_thenDiskPercentagesShouldNotBeAvailable()
alb3rtobr marked this conversation as resolved.
Show resolved Hide resolved
throws Exception {

File[] diskDirs = new File[2];
Expand All @@ -186,10 +194,12 @@ public void givenDiskStoreIsCreatedWithDefaultSize_whenDataIsStored_thenGetDiskU

assertEquals(ManagementConstants.NOT_AVAILABLE_FLOAT,
((DiskStoreImpl) diskStore).getDiskUsagePercentage(), 0);
assertEquals(ManagementConstants.NOT_AVAILABLE_FLOAT,
((DiskStoreImpl) diskStore).getDiskFreePercentage(), 0);
}

@Test
public void givenDiskStoreIsCreatedWithAtLeastOneDefaultSize_thenGetDiskUsagePercentageShouldNotBeAvailable()
public void givenDiskStoreIsCreatedWithAtLeastOneDefaultSize_thenDiskPercentagesShouldNotBeAvailable()
alb3rtobr marked this conversation as resolved.
Show resolved Hide resolved
throws Exception {

File[] diskDirs = new File[3];
Expand All @@ -210,12 +220,14 @@ public void givenDiskStoreIsCreatedWithAtLeastOneDefaultSize_thenGetDiskUsagePer

assertEquals(ManagementConstants.NOT_AVAILABLE_FLOAT,
((DiskStoreImpl) diskStore).getDiskUsagePercentage(), 0);
assertEquals(ManagementConstants.NOT_AVAILABLE_FLOAT,
((DiskStoreImpl) diskStore).getDiskFreePercentage(), 0);
cache.close();
}
}

@Test
public void givenDiskStoreIsCreatedWithAtLeastOneDefaultSize_whenDataIsStored_thenGetDiskUsagePercentageShouldNotBeAvailable()
public void givenDiskStoreIsCreatedWithAtLeastOneDefaultSize_whenDataIsStored_thenDiskPercentagesShouldNotBeAvailable()
alb3rtobr marked this conversation as resolved.
Show resolved Hide resolved
throws Exception {

File[] diskDirs = new File[2];
Expand All @@ -236,6 +248,8 @@ public void givenDiskStoreIsCreatedWithAtLeastOneDefaultSize_whenDataIsStored_th

assertEquals(ManagementConstants.NOT_AVAILABLE_FLOAT,
((DiskStoreImpl) diskStore).getDiskUsagePercentage(), 0);
assertEquals(ManagementConstants.NOT_AVAILABLE_FLOAT,
((DiskStoreImpl) diskStore).getDiskFreePercentage(), 0);
}

@Test
Expand Down
Expand Up @@ -4666,4 +4666,14 @@ public float getDiskUsagePercentage() {
return usage;
}

/**
* Returns the free space percentage of the disk store, or -1 in case
* one or more directories have unlimited storage.
*/
public float getDiskFreePercentage() {
if (this.totalDiskStoreSpace == ManagementConstants.NOT_AVAILABLE_LONG) {
return ManagementConstants.NOT_AVAILABLE_FLOAT;
}
return (100 - getDiskUsagePercentage());
}
}
Expand Up @@ -196,6 +196,11 @@ public interface DiskStoreMXBean {
*/
float getDiskUsagePercentage();

/**
* Returns the free percentage of the disk storage
alb3rtobr marked this conversation as resolved.
Show resolved Hide resolved
*/
float getDiskFreePercentage();
alb3rtobr marked this conversation as resolved.
Show resolved Hide resolved

/**
* Sets the value of the disk usage warning percentage.
*
Expand Down
Expand Up @@ -171,6 +171,11 @@ public float getDiskUsagePercentage() {
return bridge.getDiskUsagePercentage();
}

@Override
public float getDiskFreePercentage() {
return bridge.getDiskFreePercentage();
}

public DiskStoreMBeanBridge getBridge() {
return bridge;
}
Expand Down
Expand Up @@ -273,4 +273,8 @@ public void setDiskUsageCriticalPercentage(float criticalPercent) {
public float getDiskUsagePercentage() {
return diskStore.getDiskUsagePercentage();
}

public float getDiskFreePercentage() {
return diskStore.getDiskFreePercentage();
}
}