config = new SlaveServerConfig( new LogChannel( "Slave server config" ), configNode ); if ( config.getAutoSequence() != null ) { config.readAutoSequences(); config.setFilename( arguments[0] ); config = new SlaveServerConfig(); config.setSlaveServer( slaveServer );
@Before public void setup() throws Exception { System.setProperty( Const.KETTLE_CARTE_JETTY_ACCEPTORS, ACCEPTORS ); System.setProperty( Const.KETTLE_CARTE_JETTY_ACCEPT_QUEUE_SIZE, ACCEPT_QUEUE_SIZE ); System.setProperty( Const.KETTLE_CARTE_JETTY_RES_MAX_IDLE_TIME, RES_MAX_IDLE_TIME ); when( sServerConfMock.getSlaveServer() ).thenReturn( sServer ); when( trMapMock.getSlaveServerConfig() ).thenReturn( sServerConfMock ); when( sServer.getPassword() ).thenReturn( "cluster" ); when( sServer.getUsername() ).thenReturn( "cluster" ); webServer = new WebServer( logMock, trMapMock, jbMapMock, sRepoMock, detections, HOST_NAME, PORT, SHOULD_JOIN, null ); }
/** Set up jetty options to the system properties * @param node */ protected void setUpJettyOptions( Node node ) { Map<String, String> jettyOptions = parseJettyOptions( node ); if ( jettyOptions != null && jettyOptions.size() > 0 ) { for ( Entry<String, String> jettyOption : jettyOptions.entrySet() ) { System.setProperty( jettyOption.getKey(), jettyOption.getValue() ); } } }
@GET @Path( "/configDetails" ) @Produces( { MediaType.APPLICATION_JSON } ) public List<NVPair> getConfigDetails() { SlaveServerConfig serverConfig = CarteSingleton.getInstance().getTransformationMap().getSlaveServerConfig(); List<NVPair> list = new ArrayList<NVPair>(); list.add( new NVPair( "maxLogLines", "" + serverConfig.getMaxLogLines() ) ); list.add( new NVPair( "maxLogLinesAge", "" + serverConfig.getMaxLogTimeoutMinutes() ) ); list.add( new NVPair( "maxObjectsAge", "" + serverConfig.getObjectTimeoutMinutes() ) ); list.add( new NVPair( "configFile", "" + serverConfig.getFilename() ) ); return list; }
public static CarteSingleton getInstance() { try { if ( carteSingleton == null ) { if ( slaveServerConfig == null ) { slaveServerConfig = new SlaveServerConfig(); SlaveServer slaveServer = new SlaveServer(); slaveServerConfig.setSlaveServer( slaveServer ); } carteSingleton = new CarteSingleton( slaveServerConfig ); String carteObjectId = UUID.randomUUID().toString(); SimpleLoggingObject servletLoggingObject = new SimpleLoggingObject( "CarteSingleton", LoggingObjectType.CARTE, null ); servletLoggingObject.setContainerObjectId( carteObjectId ); servletLoggingObject.setLogLevel( LogLevel.BASIC ); return carteSingleton; } else { return carteSingleton; } } catch ( KettleException ke ) { throw new RuntimeException( ke ); } }
public SlaveSequence createSlaveSequence( String name ) throws KettleException { SlaveSequence auto = slaveServerConfig.getAutoSequence(); if ( auto == null ) { throw new KettleException( "No auto-sequence information found in the slave server config. " + "Slave sequence could not be created automatically." ); } SlaveSequence slaveSequence = new SlaveSequence( name, auto.getStartValue(), auto.getDatabaseMeta(), auto.getSchemaName(), auto .getTableName(), auto.getSequenceNameField(), auto.getValueField() ); slaveServerConfig.getSlaveSequences().add( slaveSequence ); return slaveSequence; }
if ( serverConfig != null ) { String maxLines = ""; if ( serverConfig.getMaxLogLines() == 0 ) { maxLines = BaseMessages.getString( PKG, "GetStatusServlet.NoLimit" ); } else { maxLines = serverConfig.getMaxLogLines() + BaseMessages.getString( PKG, "GetStatusServlet.Lines" ); if ( serverConfig.getMaxLogTimeoutMinutes() == 0 ) { maxAge = BaseMessages.getString( PKG, "GetStatusServlet.NoLimit" ); } else { maxAge = serverConfig.getMaxLogTimeoutMinutes() + BaseMessages.getString( PKG, "GetStatusServlet.Minutes" ); if ( serverConfig.getObjectTimeoutMinutes() == 0 ) { maxObjAge = BaseMessages.getString( PKG, "GetStatusServlet.NoLimit" ); } else { maxObjAge = serverConfig.getObjectTimeoutMinutes() + BaseMessages.getString( PKG, "GetStatusServlet.Minutes" ); repositoryName = serverConfig.getRepository() != null ? serverConfig.getRepository().getName() : ""; } catch ( Exception e ) { logError( BaseMessages.getString( PKG, "GetStatusServlet.Parameter.RepositoryName.UnableToConnect", serverConfig.getRepositoryId() ), e ); repositoryName = BaseMessages.getString( PKG, "GetStatusServlet.Parameter.RepositoryName.UnableToConnect", serverConfig.getRepositoryId() ); String filename = serverConfig.getFilename(); if ( filename == null ) { filename = BaseMessages.getString( PKG, "GetStatusServlet.ConfigurationDetails.UsingDefaults" );
private CarteSingleton( SlaveServerConfig config ) throws KettleException { KettleEnvironment.init(); KettleLogStore.init( config.getMaxLogLines(), config.getMaxLogTimeoutMinutes() ); SlaveServer slaveServer = config.getSlaveServer(); if ( slaveServer != null ) { int port = WebServer.PORT; if ( config.isReportingToMasters() ) { String hostname = slaveServer.getHostname(); final SlaveServer client = new SlaveServer( "Dynamic slave [" + hostname + ":" + port + "]", hostname, "" + port, slaveServer .getUsername(), slaveServer.getPassword() ); for ( final SlaveServer master : config.getMasters() ) {
SocketRepository socketRepository = CarteSingleton.getInstance().getSocketRepository(); SlaveServer slaveServer = config.getSlaveServer(); if ( config.isReportingToMasters() ) { String propertiesMaster = slaveServer.getPropertiesMasterName(); for ( final SlaveServer master : config.getMasters() ) { boolean shouldJoin = config.isJoining(); if ( joinOverride != null ) { shouldJoin = joinOverride; config.getPasswordFile(), slaveServer.getSslConfig() );
Repository slaveServerRepository = serverConfig.getRepository(); if ( slaveServerRepository == null ) { throw new KettleException( "Unable to connect to repository in Slave Server Config: " + serverConfig.getRepositoryId() ); serverConfig.getRepositoryId(), serverConfig.getRepositoryUsername(), serverConfig.getRepositoryPassword() );
@Test public void testDoNotSetUpJettyOptionsAsSystemParameters_WhenNoOptionsNode() throws KettleXMLException { Node configNode = getConfigNode( getConfigWithNoOptionsNode() ); slServerConfig.setUpJettyOptions( configNode ); assertFalse( "There should not be any jetty option but it is here: " + EXPECTED_ACCEPTORS_KEY, System .getProperties().containsKey( EXPECTED_ACCEPTORS_KEY ) ); assertFalse( "There should not be any jetty option but it is here: " + EXPECTED_ACCEPT_QUEUE_SIZE_KEY, System .getProperties().containsKey( EXPECTED_ACCEPT_QUEUE_SIZE_KEY ) ); assertFalse( "There should not be any jetty option but it is here: " + EXPECTED_LOW_RES_MAX_IDLE_TIME_KEY, System .getProperties().containsKey( EXPECTED_LOW_RES_MAX_IDLE_TIME_KEY ) ); }
if ( slaveNode != null ) { slaveServer = new SlaveServer( slaveNode ); checkNetworkInterfaceSetting( log, slaveNode, slaveServer ); Node masterSlaveNode = XMLHandler.getSubNodeByNr( mastersNode, SlaveServer.XML_TAG, i ); SlaveServer masterSlaveServer = new SlaveServer( masterSlaveNode ); checkNetworkInterfaceSetting( log, masterSlaveNode, masterSlaveServer ); masterSlaveServer.setSslMode( slaveServer.isSslMode() ); masters.add( masterSlaveServer ); setUpJettyOptions( node );
Mockito.when( slaveServerConfig.getRepository() ).thenReturn( repository ); RepositoryDirectoryInterface repositoryDirectoryInterface = Mockito.mock( RepositoryDirectoryInterface.class ); Mockito.when( repository.loadRepositoryDirectoryTree() ).thenReturn( repositoryDirectoryInterface );
@Before public void setup() throws Exception { slServerConfig = new SlaveServerConfig(); }
@Ignore @Test public void test() throws Exception { CountDownLatch latch = new CountDownLatch( 1 ); System.setProperty( Const.KETTLE_SLAVE_DETECTION_TIMER, "100" ); SlaveServer master = new SlaveServer(); master.setHostname( "127.0.0.1" ); master.setPort( "9000" ); master.setUsername( "cluster" ); master.setPassword( "cluster" ); master.setMaster( true ); SlaveServerConfig config = new SlaveServerConfig(); config.setSlaveServer( master ); Carte carte = new Carte( config ); SlaveServerDetection slaveServerDetection = mock( SlaveServerDetection.class ); carte.getWebServer().getDetections().add( slaveServerDetection ); SlaveServer slaveServer = mock( SlaveServer.class, RETURNS_MOCKS ); when( slaveServerDetection.getSlaveServer() ).thenReturn( slaveServer ); when( slaveServer.getStatus() ).thenAnswer( new Answer<SlaveServerStatus>() { @Override public SlaveServerStatus answer( InvocationOnMock invocation ) throws Throwable { SlaveServerDetection anotherDetection = mock( SlaveServerDetection.class ); carte.getWebServer().getDetections().add( anotherDetection ); latch.countDown(); return new SlaveServerStatus(); } } ); latch.await( 10, TimeUnit.SECONDS ); assertEquals( carte.getWebServer().getDetections().size(), 2 ); carte.getWebServer().stopServer(); }
@Test public void testDoNotSetUpJettyOptionsAsSystemParameters_WhenEmptyOptionsNode() throws KettleXMLException { Node configNode = getConfigNode( getConfigWithEmptyOptionsNode() ); slServerConfig.setUpJettyOptions( configNode ); assertFalse( "There should not be any jetty option but it is here: " + EXPECTED_ACCEPTORS_KEY, System .getProperties().containsKey( EXPECTED_ACCEPTORS_KEY ) ); assertFalse( "There should not be any jetty option but it is here: " + EXPECTED_ACCEPT_QUEUE_SIZE_KEY, System .getProperties().containsKey( EXPECTED_ACCEPT_QUEUE_SIZE_KEY ) ); assertFalse( "There should not be any jetty option but it is here: " + EXPECTED_LOW_RES_MAX_IDLE_TIME_KEY, System .getProperties().containsKey( EXPECTED_LOW_RES_MAX_IDLE_TIME_KEY ) ); }
final Repository repository = transformationMap.getSlaveServerConfig().getRepository(); final TransMeta transMeta = loadTrans( repository, transOption );
@Test public void testParseJettyOption_Acceptors() throws KettleXMLException { Node configNode = getConfigNode( getConfigWithAcceptorsOnlyOption() ); Map<String, String> parseJettyOptions = slServerConfig.parseJettyOptions( configNode ); assertNotNull( parseJettyOptions ); assertEquals( 1, parseJettyOptions.size() ); assertTrue( "Expected containing key=" + EXPECTED_ACCEPTORS_KEY, parseJettyOptions .containsKey( EXPECTED_ACCEPTORS_KEY ) ); assertEquals( EXPECTED_ACCEPTORS_VALUE, parseJettyOptions.get( EXPECTED_ACCEPTORS_KEY ) ); }
@Test public void testSetUpJettyOptionsAsSystemParameters() throws KettleXMLException { Node configNode = getConfigNode( getConfigWithAllOptions() ); slServerConfig.setUpJettyOptions( configNode ); assertTrue( "Expected containing jetty option " + EXPECTED_ACCEPTORS_KEY, System.getProperties().containsKey( EXPECTED_ACCEPTORS_KEY ) ); assertEquals( EXPECTED_ACCEPTORS_VALUE, System.getProperty( EXPECTED_ACCEPTORS_KEY ) ); assertTrue( "Expected containing jetty option " + EXPECTED_ACCEPT_QUEUE_SIZE_KEY, System.getProperties() .containsKey( EXPECTED_ACCEPT_QUEUE_SIZE_KEY ) ); assertEquals( EXPECTED_ACCEPT_QUEUE_SIZE_VALUE, System.getProperty( EXPECTED_ACCEPT_QUEUE_SIZE_KEY ) ); assertTrue( "Expected containing jetty option " + EXPECTED_LOW_RES_MAX_IDLE_TIME_KEY, System.getProperties() .containsKey( EXPECTED_LOW_RES_MAX_IDLE_TIME_KEY ) ); assertEquals( EXPECTED_LOW_RES_MAX_IDLE_TIME_VALUE, System.getProperty( EXPECTED_LOW_RES_MAX_IDLE_TIME_KEY ) ); }
roles.add( "default" ); HashLoginService hashLoginService; SlaveServer slaveServer = transformationMap.getSlaveServerConfig().getSlaveServer(); if ( !Utils.isEmpty( slaveServer.getPassword() ) ) { hashLoginService = new HashLoginService( "Kettle" );