Ceph RGW не может загрузить объект, если реализован JaegerTracing - PullRequest
1 голос
/ 19 марта 2020

ОС: ubuntu 18.04 ceph: осьминог jaeger: master

Когда я внедряю jaegertracer в функцию, которая отвечает за запись файла в ceph через RGW, я не могу загрузить свой файл. Я получаю эту ошибку

Warning: failed to create container 'mycontainer': HTTPConnectionPool(host='localhost', port=8000): Max retries exceeded with url: /auth (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f5076b7a990>: Failed to establish a new connection: [Errno 111] Connection refused',))

Но когда я удаляю свой трассировщик из кода, он успешно загружает файл

исходный код

void librados::IoCtxImpl::queue_aio_write(AioCompletionImpl *c)
{
    auto yaml = YAML::LoadFile("tracerConfig.yaml");
    auto config = jaegertracing::Config::parse(yaml);
    auto tracer=jaegertracing::Tracer::make(
        "Writing",
        config,
        jaegertracing::logging::consoleLogger()
    );
    opentracing::Tracer::InitGlobal(
        static_pointer_cast<opentracing::Tracer>(tracer)
    );
    auto span = opentracing::Tracer::Global()->StartSpan("Span1");
    get();
    ofstream file;
    file.open("/home/abhinav/Desktop/write.txt",std::ios::out | std::ios::app);
    file<<"Writing /src/librados/IoCtxImpl.cc 288.\n";
    file.close();
    std::scoped_lock l{aio_write_list_lock};
    ceph_assert(c->io == this);
    c->aio_write_seq = ++aio_write_seq;
    ldout(client->cct, 20) << "queue_aio_write " << this << " completion " << c
        << " write_seq " << aio_write_seq << dendl;
    aio_write_list.push_back(&c->aio_write_list_item);
    opentracing::Tracer::Global()->Close();
}

Когда я удаляю трассировщик, он снова прекрасно компилируется

1 Ответ

0 голосов
/ 28 апреля 2020

Проблема была связана с yaml разбором файла

...