mirror of
https://github.com/apache/druid.git
synced 2025-02-17 07:25:02 +00:00
make sure CliCoordinator initializes and starts DerbyMetadataStorage first if configured (#3700)
* make sure CliCoordinator initializes and starts DerbyMetadataStorage first if configured * Revert "make sure CliCoordinator initializes and starts DerbyMetadataStorage first if configured" This reverts commit 54f5644054626d4a9e2448bb4bd5e6ce9a9fca1d. * make sure CliCoordinator initializes and starts DerbyMetadataStorage first if configured
This commit is contained in:
parent
45da7e48f1
commit
5440a06b2d
@ -50,7 +50,7 @@ public class LifecycleScope implements Scope
|
||||
synchronized (instances) {
|
||||
this.lifecycle = lifecycle;
|
||||
for (Object instance : instances) {
|
||||
lifecycle.addManagedInstance(instance);
|
||||
lifecycle.addManagedInstance(instance, stage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -33,6 +33,7 @@ import io.druid.metadata.MetadataSegmentManager;
|
||||
import io.druid.metadata.MetadataSegmentManagerProvider;
|
||||
import io.druid.metadata.MetadataSegmentPublisher;
|
||||
import io.druid.metadata.MetadataSegmentPublisherProvider;
|
||||
import io.druid.metadata.MetadataStorage;
|
||||
import io.druid.metadata.MetadataStorageActionHandlerFactory;
|
||||
import io.druid.metadata.MetadataStorageConnector;
|
||||
import io.druid.metadata.MetadataStorageProvider;
|
||||
@ -170,6 +171,8 @@ public class SQLMetadataStorageDruidModule implements Module
|
||||
@Override
|
||||
public void configure(Binder binder)
|
||||
{
|
||||
binder.bind(MetadataStorage.class).toProvider(NoopMetadataStorageProvider.class);
|
||||
|
||||
PolyBind.optionBinder(binder, Key.get(MetadataSegmentManager.class))
|
||||
.addBinding(type)
|
||||
.to(SQLMetadataSegmentManager.class)
|
||||
|
@ -19,18 +19,13 @@
|
||||
|
||||
package io.druid.metadata;
|
||||
|
||||
import io.druid.java.util.common.lifecycle.LifecycleStart;
|
||||
import io.druid.java.util.common.lifecycle.LifecycleStop;
|
||||
|
||||
public abstract class MetadataStorage
|
||||
{
|
||||
@LifecycleStart
|
||||
public void start()
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
|
||||
@LifecycleStop
|
||||
public void stop()
|
||||
{
|
||||
// do nothing
|
||||
|
@ -21,8 +21,11 @@ package io.druid.metadata.storage.derby;
|
||||
|
||||
import com.google.common.base.Supplier;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import io.druid.guice.ManageLifecycle;
|
||||
import io.druid.java.util.common.lifecycle.LifecycleStart;
|
||||
import io.druid.java.util.common.lifecycle.LifecycleStop;
|
||||
import io.druid.java.util.common.logger.Logger;
|
||||
import io.druid.metadata.MetadataStorage;
|
||||
import io.druid.metadata.MetadataStorageConnectorConfig;
|
||||
import io.druid.metadata.MetadataStorageTablesConfig;
|
||||
import io.druid.metadata.SQLMetadataConnector;
|
||||
@ -30,14 +33,20 @@ import org.apache.commons.dbcp2.BasicDataSource;
|
||||
import org.skife.jdbi.v2.DBI;
|
||||
import org.skife.jdbi.v2.Handle;
|
||||
|
||||
@ManageLifecycle
|
||||
public class DerbyConnector extends SQLMetadataConnector
|
||||
{
|
||||
private static final Logger log = new Logger(DerbyConnector.class);
|
||||
private static final String SERIAL_TYPE = "BIGINT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)";
|
||||
private final DBI dbi;
|
||||
private final MetadataStorage storage;
|
||||
|
||||
@Inject
|
||||
public DerbyConnector(Supplier<MetadataStorageConnectorConfig> config, Supplier<MetadataStorageTablesConfig> dbTables)
|
||||
public DerbyConnector(
|
||||
MetadataStorage storage,
|
||||
Supplier<MetadataStorageConnectorConfig> config,
|
||||
Supplier<MetadataStorageTablesConfig> dbTables
|
||||
)
|
||||
{
|
||||
super(config, dbTables);
|
||||
|
||||
@ -46,11 +55,12 @@ public class DerbyConnector extends SQLMetadataConnector
|
||||
datasource.setDriverClassName("org.apache.derby.jdbc.ClientDriver");
|
||||
|
||||
this.dbi = new DBI(datasource);
|
||||
|
||||
this.storage = storage;
|
||||
log.info("Configured Derby as metadata storage");
|
||||
}
|
||||
|
||||
public DerbyConnector(
|
||||
MetadataStorage storage,
|
||||
Supplier<MetadataStorageConnectorConfig> config,
|
||||
Supplier<MetadataStorageTablesConfig> dbTables,
|
||||
DBI dbi
|
||||
@ -58,6 +68,7 @@ public class DerbyConnector extends SQLMetadataConnector
|
||||
{
|
||||
super(config, dbTables);
|
||||
this.dbi = dbi;
|
||||
this.storage = storage;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -87,4 +98,16 @@ public class DerbyConnector extends SQLMetadataConnector
|
||||
|
||||
@Override
|
||||
public String getValidationQuery() { return "VALUES 1"; }
|
||||
|
||||
@LifecycleStart
|
||||
public void start()
|
||||
{
|
||||
storage.start();
|
||||
}
|
||||
|
||||
@LifecycleStop
|
||||
public void stop()
|
||||
{
|
||||
storage.stop();
|
||||
}
|
||||
}
|
||||
|
@ -21,10 +21,6 @@ package io.druid.metadata.storage.derby;
|
||||
|
||||
import com.google.common.base.Throwables;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import io.druid.guice.ManageLifecycle;
|
||||
import io.druid.java.util.common.lifecycle.LifecycleStart;
|
||||
import io.druid.java.util.common.lifecycle.LifecycleStop;
|
||||
import io.druid.java.util.common.logger.Logger;
|
||||
import io.druid.metadata.MetadataStorage;
|
||||
import io.druid.metadata.MetadataStorageConnectorConfig;
|
||||
@ -32,8 +28,6 @@ import org.apache.derby.drda.NetworkServerControl;
|
||||
|
||||
import java.net.InetAddress;
|
||||
|
||||
|
||||
@ManageLifecycle
|
||||
public class DerbyMetadataStorage extends MetadataStorage
|
||||
{
|
||||
private static final Logger log = new Logger(DerbyMetadataStorage.class);
|
||||
@ -53,7 +47,6 @@ public class DerbyMetadataStorage extends MetadataStorage
|
||||
}
|
||||
|
||||
@Override
|
||||
@LifecycleStart
|
||||
public void start()
|
||||
{
|
||||
try {
|
||||
@ -66,7 +59,6 @@ public class DerbyMetadataStorage extends MetadataStorage
|
||||
}
|
||||
|
||||
@Override
|
||||
@LifecycleStop
|
||||
public void stop()
|
||||
{
|
||||
try {
|
||||
|
@ -48,7 +48,7 @@ public class TestDerbyConnector extends DerbyConnector
|
||||
String jdbcUri
|
||||
)
|
||||
{
|
||||
super(config, dbTables, new DBI(jdbcUri + ";create=true"));
|
||||
super(new NoopMetadataStorageProvider().get(), config, dbTables, new DBI(jdbcUri + ";create=true"));
|
||||
this.jdbcUri = jdbcUri;
|
||||
}
|
||||
|
||||
|
@ -123,8 +123,7 @@ public class CliCoordinator extends ServerRunnable
|
||||
ConfigProvider.bind(binder, DruidCoordinatorConfig.class);
|
||||
|
||||
binder.bind(MetadataStorage.class)
|
||||
.toProvider(MetadataStorageProvider.class)
|
||||
.in(ManageLifecycle.class);
|
||||
.toProvider(MetadataStorageProvider.class);
|
||||
|
||||
JsonConfigProvider.bind(binder, "druid.manager.segments", MetadataSegmentManagerConfig.class);
|
||||
JsonConfigProvider.bind(binder, "druid.manager.rules", MetadataRuleManagerConfig.class);
|
||||
|
Loading…
x
Reference in New Issue
Block a user