Misleading messages when starting up Qpid c++ 1.36.0 ?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Misleading messages when starting up Qpid c++ 1.36.0 ?

kristianraue
Hi,

I have successfully compiled qpid-cpp-1.36.0, qpid-proton-0.17.0 and qpid-python-1.36.0 on CentOS 7.1 x86_64.

I want to run Qpid with AMQP 1.0 and Linear Store enabled. And I should be happy, because both seem to work when I start qpid with "$ qpidd --load-module amqp.so --auth no"

(both also works even when I just use “$ qpidd  --auth no”).

I can connect to the broker with AMQP 1.0 only clients like
- Proton,
- node-amqp10 (https://github.com/noodlefrenzy/node-amqp10) or
- node-red-contrib-rhea (https://flows.nodered.org/node/node-red-contrib-rhea).

So AMQP 1.0 seems to work.

Also I tested persistence by stopping and restarting the broker with durable queues and durable messages. So Linear Store seems to work perfectly too.

But there are 2 problems that irritate me (and took a few hours of maybe unnecessarily spend time)

Problem 1:

In other threads I read that with AMQP 1.0 enabled I should be seeing:

"[Broker] info Loaded protocol AMQP 1.0"

when starting Qpid.

But when I start with "$ qpidd --load-module amqp.so --auth no". I get the following messages:

$ src/qpidd --load-module amqp.so --auth no
2017-05-20 09:09:48 [Broker] notice Broker (pid=2942) start-up
2017-05-20 09:09:48 [Security] notice SSL plugin not enabled, you must set --ssl-cert-db to enable it.
2017-05-20 09:09:49 [Store] notice Linear Store: Store module initialized; store-dir=/home/ec2-user/.qpidd
2017-05-20 09:09:49 [Store] warning Message store plugin: No storage providers available.
2017-05-20 09:09:49 [Broker] notice SASL disabled: No Authentication Performed
2017-05-20 09:09:49 [Network] notice Listening on TCP/TCP6 port 5672

But there is no “[Broker] info Loaded protocol AMQP 1.0” message (although AMQP 1.0 seem to work)

Problem 2:

As said, my tests show that persistence also seems to work perfectly. But during startup is prints:

"[Store] warning Message store plugin: No storage providers available."

Now I have the impression that for some reason I can ignore the warning about the storage provider not being available. Right?

And it also seems that with the current Qpid release there is no message on startup when AMQP 1.0 is enabled. Right?

As said, I am happy that everything works, but there is a doubt left that maybe I am doing something wrong here.

Also – if this behavior is normal – it could be confusing for other Qpid users installing Qpid for the first time.

It would be nice if on startup of the broker you would get confirmation that AMQP 1.0 is enabled and no warning regarding the storing providers. It would just feel much better.

PS: I am adding some info that I collected during the build process, just as additional information.

CMAKE

$ sudo cmake ..
-- Build type is "RelWithDebInfo" (has debug symbols)
-- Could NOT find VALGRIND (missing:  VALGRIND_EXECUTABLE)
-- No need to generate AMQP protocol sources
-- No need to generate Qpid Management Framework sources
-- Boost version: 1.53.0
-- Found the following Boost libraries:
--   program_options
--   system

CMake Warning at src/amqp.cmake:28 (message):
  Qpid proton 0.17.0 is not a tested version and might not be compatible,
  0.16 is highest tested; build may not work
Call Stack (most recent call first):
  src/CMakeLists.txt:591 (include)


-- Qpid proton found, amqp 1.0 support enabled
-- Found BerkeleyDB: /usr/lib64/libdb_cxx.so
-- BerkeleyDB for C++ and libaio found, Legacystore support disabled by default (deprecated, use linearstore instead).
-- Legacystore is excluded from build.
-- Found BerkeleyDB: /usr/lib64/libdb_cxx.so
-- BerkeleyDB for C++ and libaio found, Linearstore support enabled.
-- Building linearstore tests
-- Building Python bindings
-- Building Ruby bindings
-- Building Perl bindings
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/src/qpid-cpp-1.36.0/bld

Contend of CMakeCache.txt:

########################
# EXTERNAL cache entries
########################

//Build with support for AMQP 1.0
BUILD_AMQP:BOOL=ON

//Build DOTNET bindings
BUILD_BINDING_DOTNET:BOOL=OFF

//Build Perl bindings
BUILD_BINDING_PERL:BOOL=ON

//Build Python bindings
BUILD_BINDING_PYTHON:BOOL=ON

//Build Ruby bindings
BUILD_BINDING_RUBY:BOOL=ON

//Build user documentation
BUILD_DOCS:BOOL=ON

//Build Active-Passive HA plugin
BUILD_HA:BOOL=ON

//Build legacystore persistent store
BUILD_LEGACYSTORE:BOOL=OFF

//Build linearstore persistent store
BUILD_LINEARSTORE:BOOL=ON

//Build MS hybrid SQL-CLFS Store provider plugin
BUILD_MSCLFS:BOOL=OFF

//Build MS SQL Store provider plugin
BUILD_MSSQL:BOOL=OFF

//Build with DTrace/systemtap static probes
BUILD_PROBES:BOOL=ON

//Build with support for Remote DMA protocols
BUILD_RDMA:BOOL=ON

//Build with Cyrus SASL support
BUILD_SASL:BOOL=ON

//Build with support for SSL
BUILD_SSL:BOOL=ON

//Build the testing tree.
BUILD_TESTING:BOOL=ON

//Build with XML Exchange
BUILD_XML:BOOL=ON



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Misleading messages when starting up Qpid c++ 1.36.0 ?

Pavel Moravec
​Hello,



On Sat, May 20, 2017 at 1:14 PM, kristianraue <[hidden email]>
wrote:

> Hi,
>
> I have successfully compiled qpid-cpp-1.36.0, qpid-proton-0.17.0 and
> qpid-python-1.36.0 on CentOS 7.1 x86_64.
>
> I want to run Qpid with AMQP 1.0 and Linear Store enabled. And I should be
> happy, because both seem to work when I start qpid with "$ qpidd
> --load-module amqp.so --auth no"
>

For Linear Store, ​I would expect​

​adding --load-module linearstore.so​ (but I dont see the warning message
without this option so I might be wrong).


> (both also works even when I just use “$ qpidd  --auth no”).
>
> I can connect to the broker with AMQP 1.0 only clients like
> - Proton,
> - node-amqp10 (https://github.com/noodlefrenzy/node-amqp10) or
> - node-red-contrib-rhea
> (https://flows.nodered.org/node/node-red-contrib-rhea).
>
> So AMQP 1.0 seems to work.
>
> Also I tested persistence by stopping and restarting the broker with
> durable
> queues and durable messages. So Linear Store seems to work perfectly too.
>
> But there are 2 problems that irritate me (and took a few hours of maybe
> unnecessarily spend time)
>
> Problem 1:
>
> In other threads I read that with AMQP 1.0 enabled I should be seeing:
>
> "[Broker] info Loaded protocol AMQP 1.0"
>
> when starting Qpid.
>

​That message is on info level, while default qpidd logging is notice+
(notice verbosity and anything less verbose). All logging verbosity levels
are:

trace, debug, info, notice, warning, error, fatal

If you add  --log-enable=info+​  you should start to see the above log.


Kind regards,
Pavel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Misleading messages when starting up Qpid c++ 1.36.0 ?

Jakub Scholz-2
In reply to this post by kristianraue
Could you try to start the broker like this:
     qpidd --no-module-dir --load-module amqp.so --load-module
linearstore.so --auth no
Does the warning message still appear?

There used to be the store.so module which wasn't really message store on
its own, but it was used for some SQL based message store (or something
like that). I think that was causing some strange messages like this. Could
you check your /usr/lib64/qpid/daemon/ path or where ever are the broker
modules stored in your installation to see what files does it contain? Does
it contain something like store.so?

JAkub

On Sat, May 20, 2017 at 1:14 PM, kristianraue <[hidden email]>
wrote:

> qpidd --load-module amqp.so
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Misleading messages when starting up Qpid c++ 1.36.0 ?

kristianraue
In reply to this post by Pavel Moravec
Pavel Moravec wrote
If you add  --log-enable=info+​  you should start to see the above log.
Yes, with --log-enable=info+ I now see the desired message:

"[Broker] info Loaded protocol AMQP 1.0"

Thank you!
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Misleading messages when starting up Qpid c++ 1.36.0 ?

kristianraue
In reply to this post by Jakub Scholz-2
Jakub Scholz-2 wrote
Could you try to start the broker like this:
     qpidd --no-module-dir --load-module amqp.so --load-module linearstore.so --auth no
Does the warning message still appear?
I had to add the full path of the modules, but then it worked and the warning message does not appear anymore.

Thank you!

Jakub Scholz-2 wrote
Could you check your /usr/lib64/qpid/daemon/ path or where ever are the broker modules stored in your installation to see what files does it contain? Does it contain something like store.so?
Yes, I found  /usr/src/qpid-cpp-1.36.0/bld/src/qpid/store/store.so. That explains it.

Loading...