Merge pull request #771 from metamx/fix-730

fix #730 - memory check throws exception if it fails
This commit is contained in:
fjy 2014-09-30 12:58:31 -06:00
commit 888be42cbf
3 changed files with 50 additions and 5 deletions

View File

@ -42,10 +42,10 @@ public class VMUtils
throw new UnsupportedOperationException("VM.maxDirectMemory doesn't exist, cannot do memory check.", e);
}
catch (InvocationTargetException e) {
throw new RuntimeException("static method shouldn't throw this", e);
throw new UnsupportedOperationException("static method shouldn't throw this", e);
}
catch (IllegalAccessException e) {
throw new RuntimeException("public method, shouldn't throw this", e);
throw new UnsupportedOperationException("public method, shouldn't throw this", e);
}
}
}

View File

@ -98,9 +98,6 @@ public class DruidProcessingModule implements Module
} catch(UnsupportedOperationException e) {
log.info(e.getMessage());
}
catch(RuntimeException e) {
log.warn(e, e.getMessage());
}
return new IntermediateProcessingBufferPool(config.intermediateComputeSizeBytes());
}

View File

@ -0,0 +1,48 @@
/*
* Druid - a distributed column store.
* Copyright (C) 2012, 2013 Metamarkets Group Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package io.druid.guice;
import com.google.inject.ProvisionException;
import io.druid.query.DruidProcessingConfig;
import org.junit.Test;
public class DruidProcessingModuleTest
{
@Test(expected=ProvisionException.class)
public void testMemoryCheckThrowsException() {
DruidProcessingModule module = new DruidProcessingModule();
module.getIntermediateResultsPool(new DruidProcessingConfig()
{
@Override
public String getFormatString()
{
return "test";
}
@Override
public int intermediateComputeSizeBytes()
{
return Integer.MAX_VALUE;
}
});
}
}