Ejemplo n.º 1
0
 /// <exception cref="System.IO.IOException"/>
 internal QuorumJournalManager(Configuration conf, URI uri, NamespaceInfo nsInfo,
                               AsyncLogger.Factory loggerFactory)
 {
     // Timeouts for which the QJM will wait for each of the following actions.
     // Since these don't occur during normal operation, we can
     // use rather lengthy timeouts, and don't need to make them
     // configurable.
     Preconditions.CheckArgument(conf != null, "must be configured");
     this.conf              = conf;
     this.uri               = uri;
     this.nsInfo            = nsInfo;
     this.loggers           = new AsyncLoggerSet(CreateLoggers(loggerFactory));
     this.connectionFactory = URLConnectionFactory.NewDefaultURLConnectionFactory(conf
                                                                                  );
     // Configure timeouts.
     this.startSegmentTimeoutMs = conf.GetInt(DFSConfigKeys.DfsQjournalStartSegmentTimeoutKey
                                              , DFSConfigKeys.DfsQjournalStartSegmentTimeoutDefault);
     this.prepareRecoveryTimeoutMs = conf.GetInt(DFSConfigKeys.DfsQjournalPrepareRecoveryTimeoutKey
                                                 , DFSConfigKeys.DfsQjournalPrepareRecoveryTimeoutDefault);
     this.acceptRecoveryTimeoutMs = conf.GetInt(DFSConfigKeys.DfsQjournalAcceptRecoveryTimeoutKey
                                                , DFSConfigKeys.DfsQjournalAcceptRecoveryTimeoutDefault);
     this.finalizeSegmentTimeoutMs = conf.GetInt(DFSConfigKeys.DfsQjournalFinalizeSegmentTimeoutKey
                                                 , DFSConfigKeys.DfsQjournalFinalizeSegmentTimeoutDefault);
     this.selectInputStreamsTimeoutMs = conf.GetInt(DFSConfigKeys.DfsQjournalSelectInputStreamsTimeoutKey
                                                    , DFSConfigKeys.DfsQjournalSelectInputStreamsTimeoutDefault);
     this.getJournalStateTimeoutMs = conf.GetInt(DFSConfigKeys.DfsQjournalGetJournalStateTimeoutKey
                                                 , DFSConfigKeys.DfsQjournalGetJournalStateTimeoutDefault);
     this.newEpochTimeoutMs = conf.GetInt(DFSConfigKeys.DfsQjournalNewEpochTimeoutKey,
                                          DFSConfigKeys.DfsQjournalNewEpochTimeoutDefault);
     this.writeTxnsTimeoutMs = conf.GetInt(DFSConfigKeys.DfsQjournalWriteTxnsTimeoutKey
                                           , DFSConfigKeys.DfsQjournalWriteTxnsTimeoutDefault);
 }
Ejemplo n.º 2
0
        /// <exception cref="System.IO.IOException"/>
        internal static IList <AsyncLogger> CreateLoggers(Configuration conf, URI uri, NamespaceInfo
                                                          nsInfo, AsyncLogger.Factory factory)
        {
            IList <AsyncLogger> ret   = Lists.NewArrayList();
            IList <IPEndPoint>  addrs = GetLoggerAddresses(uri);
            string jid = ParseJournalId(uri);

            foreach (IPEndPoint addr in addrs)
            {
                ret.AddItem(factory.CreateLogger(conf, nsInfo, jid, addr));
            }
            return(ret);
        }
Ejemplo n.º 3
0
 /// <exception cref="System.IO.IOException"/>
 protected internal virtual IList <AsyncLogger> CreateLoggers(AsyncLogger.Factory factory
                                                              )
 {
     return(CreateLoggers(conf, uri, nsInfo, factory));
 }
 protected internal override IList <AsyncLogger> CreateLoggers(AsyncLogger.Factory
                                                               factory)
 {
     return(this._enclosing.spyLoggers);
 }