You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Fraser Adams <fr...@blueyonder.co.uk> on 2013/10/05 12:15:12 UTC

Building C++ broker persistence?

Hey all,
To be honest I don't tend to use persistence much as my requirements 
tend to be more performance than reliability leaning, but it has just 
struck me that recent qpid builds seem to have a different approach than 
previously.

Back in the day IIRC I ended up getting the store from here 
http://qpidcomponents.org/download.html

But I *think* there's something in the main repo now - I noticed a 
directory "../qpid/qpid-trunk/qpid/cpp/src/qpid/legacystore", however 
I've also noticed on doing a fresh "cmake .." to build with Proton the 
cmake results say "Legacystore is excluded from build."

Is there any documentation for this anywhere? I couldn't see any links 
here: http://qpid.apache.org/components/cpp-broker/index.html nor here: 
http://qpid.apache.org/releases/qpid-0.24/cpp-broker/book/index.html

BTW the broker book still says:


    1.1.  Running a Qpid C++ Broker


      1.1.1.  Building the C++ Broker and Client Libraries

The root directory for the C++ distribution is named qpidc-0.4. The 
README file in that directory gives instructions for building the broker 
and client libraries. In most cases you will do the following:

[qpidc-0.4]$ ./configure
[qpidc-0.4]$ make


Should probably be updated with cmake now that autotools has been 
deprecated.



Am I just being thick or are there really no references about 
building/enabling C++ broker persistence? (The README and INSTALL don't 
cover it either). Also what are the differences between "legacystore" 
and the original one from qpid components. To be honest the name 
"legacystore" doesn't *really* inspire confidence either, is this 
suggesting that there's another, somehow better, persistence store - if 
so where?


Sorry for being a pain - I blame starting to play with Proton for 
causing me to pay more heed to various messages :->

Cheers,
Frase





Re: Building C++ broker persistence?

Posted by NimbusParc <ni...@yahoo.in>.
Gordon Sim wrote
> I'm guessing one of the dependencies is not installed or perhaps that 
> some assumptions in the cmake build are unintentionally platform specific.
> 
> You should be able to get a better message if you force 
> BUILD_LEGACYSTORE on.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: 

> users-unsubscribe@.apache

> For additional commands, e-mail: 

> users-help@.apache

+1



--
View this message in context: http://qpid.2158936.n2.nabble.com/Building-C-broker-persistence-tp7599056p7599107.html
Sent from the Apache Qpid users mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: Building C++ broker persistence?

Posted by Alan Conway <ac...@redhat.com>.
On 10/07/2013 02:06 PM, Fraser Adams wrote:
>
> Thanks for all of the responses Gordon. I'm not *aware* of dependencies not
> being installed. Normally cmake has been pretty good at flagging that sort of
> thing up.
>
> I had a quick look at legacystore.cmake and the dependencies
> BerkelyDB/libaio/libuuid look pretty much the same as those for the original
> persistence mechanism, which was built on the same box. It looks like there's no
> error messages emitted until BUILD_LEGACYSTORE is set and that looks like its
> set in the "else (DEFINED legacystore_force)" - could probably do with some
> extra messages in that stanza if the dependencies aren't met - I'm pretty sure I
> just see the "Legacystore is excluded from build." message. I'll have a play now
> I know vaguely where to look :-)
>
>
> How does one force BUILD_LEGACYSTORE on in cmake? is it just
> cmake .. -DBUILD_LEGACYSTORE=true

Yep, or you can edit CMakeCache.txt so it has the line:
BUILD_LEGACYSTORE:BOOL=ON


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: Building C++ broker persistence?

Posted by Fraser Adams <fr...@blueyonder.co.uk>.
Thanks for all of the responses Gordon. I'm not *aware* of dependencies 
not being installed. Normally cmake has been pretty good at flagging 
that sort of thing up.

I had a quick look at legacystore.cmake and the dependencies 
BerkelyDB/libaio/libuuid look pretty much the same as those for the 
original persistence mechanism, which was built on the same box. It 
looks like there's no error messages emitted until BUILD_LEGACYSTORE is 
set and that looks like its set in the "else (DEFINED 
legacystore_force)" - could probably do with some extra messages in that 
stanza if the dependencies aren't met - I'm pretty sure I just see the 
"Legacystore is excluded from build." message. I'll have a play now I 
know vaguely where to look :-)


How does one force BUILD_LEGACYSTORE on in cmake? is it just
cmake .. -DBUILD_LEGACYSTORE=true

Cheers,
Frase



On 07/10/13 09:58, Gordon Sim wrote:
> On 10/05/2013 11:15 AM, Fraser Adams wrote:
>> Hey all,
>> To be honest I don't tend to use persistence much as my requirements
>> tend to be more performance than reliability leaning, but it has just
>> struck me that recent qpid builds seem to have a different approach than
>> previously.
>>
>> Back in the day IIRC I ended up getting the store from here
>> http://qpidcomponents.org/download.html
>>
>> But I *think* there's something in the main repo now - I noticed a
>> directory "../qpid/qpid-trunk/qpid/cpp/src/qpid/legacystore", however
>> I've also noticed on doing a fresh "cmake .." to build with Proton the
>> cmake results say "Legacystore is excluded from build."
>
> I'm guessing one of the dependencies is not installed or perhaps that 
> some assumptions in the cmake build are unintentionally platform 
> specific.
>
> You should be able to get a better message if you force 
> BUILD_LEGACYSTORE on.
>
>> Is there any documentation for this anywhere? I couldn't see any links
>> here: http://qpid.apache.org/components/cpp-broker/index.html nor here:
>> http://qpid.apache.org/releases/qpid-0.24/cpp-broker/book/index.html
>>
>> BTW the broker book still says:
>>
>>
>>     1.1.  Running a Qpid C++ Broker
>>
>>
>>       1.1.1.  Building the C++ Broker and Client Libraries
>>
>> The root directory for the C++ distribution is named qpidc-0.4. The
>> README file in that directory gives instructions for building the broker
>> and client libraries. In most cases you will do the following:
>>
>> [qpidc-0.4]$ ./configure
>> [qpidc-0.4]$ make
>>
>>
>> Should probably be updated with cmake now that autotools has been
>> deprecated.
>
> Yes, well spotted, thanks for highlighting that! I've raised a JIRA: 
> https://issues.apache.org/jira/browse/QPID-5209
>
>
>> Am I just being thick or are there really no references about
>> building/enabling C++ broker persistence? (The README and INSTALL don't
>> cover it either).
>
> Now that the code is all in the same tree (for both windows and linux) 
> we should be able to do a much better job. I've raised a JIRA for this 
> also: https://issues.apache.org/jira/browse/QPID-5208
>
>
>> Also what are the differences between "legacystore"
>> and the original one from qpid components. To be honest the name
>> "legacystore" doesn't *really* inspire confidence either, is this
>> suggesting that there's another, somehow better, persistence store - if
>> so where?
>
> You certainly make a good point. AFAIK the reason for that name was 
> the desire to update the store to be fully asynchronous 
> (https://issues.apache.org/jira/browse/QPID-3858)
>
>> Sorry for being a pain - I blame starting to play with Proton for
>> causing me to pay more heed to various messages :->
>
> You are most definitely not being a pain! Pointing out the problems is 
> the first step in getting them fixed. I've marked the JIRAs above as 
> blockers for the next release.
>
> I'm hoping someone volunteers to address them, but if not I'll get 
> them fixed before the first RC (Justin, keep me honest!).
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: Building C++ broker persistence?

Posted by Gordon Sim <gs...@redhat.com>.
On 10/05/2013 11:15 AM, Fraser Adams wrote:
> Hey all,
> To be honest I don't tend to use persistence much as my requirements
> tend to be more performance than reliability leaning, but it has just
> struck me that recent qpid builds seem to have a different approach than
> previously.
>
> Back in the day IIRC I ended up getting the store from here
> http://qpidcomponents.org/download.html
>
> But I *think* there's something in the main repo now - I noticed a
> directory "../qpid/qpid-trunk/qpid/cpp/src/qpid/legacystore", however
> I've also noticed on doing a fresh "cmake .." to build with Proton the
> cmake results say "Legacystore is excluded from build."

I'm guessing one of the dependencies is not installed or perhaps that 
some assumptions in the cmake build are unintentionally platform specific.

You should be able to get a better message if you force 
BUILD_LEGACYSTORE on.

> Is there any documentation for this anywhere? I couldn't see any links
> here: http://qpid.apache.org/components/cpp-broker/index.html nor here:
> http://qpid.apache.org/releases/qpid-0.24/cpp-broker/book/index.html
>
> BTW the broker book still says:
>
>
>     1.1.  Running a Qpid C++ Broker
>
>
>       1.1.1.  Building the C++ Broker and Client Libraries
>
> The root directory for the C++ distribution is named qpidc-0.4. The
> README file in that directory gives instructions for building the broker
> and client libraries. In most cases you will do the following:
>
> [qpidc-0.4]$ ./configure
> [qpidc-0.4]$ make
>
>
> Should probably be updated with cmake now that autotools has been
> deprecated.

Yes, well spotted, thanks for highlighting that! I've raised a JIRA: 
https://issues.apache.org/jira/browse/QPID-5209


> Am I just being thick or are there really no references about
> building/enabling C++ broker persistence? (The README and INSTALL don't
> cover it either).

Now that the code is all in the same tree (for both windows and linux) 
we should be able to do a much better job. I've raised a JIRA for this 
also: https://issues.apache.org/jira/browse/QPID-5208


> Also what are the differences between "legacystore"
> and the original one from qpid components. To be honest the name
> "legacystore" doesn't *really* inspire confidence either, is this
> suggesting that there's another, somehow better, persistence store - if
> so where?

You certainly make a good point. AFAIK the reason for that name was the 
desire to update the store to be fully asynchronous 
(https://issues.apache.org/jira/browse/QPID-3858)

> Sorry for being a pain - I blame starting to play with Proton for
> causing me to pay more heed to various messages :->

You are most definitely not being a pain! Pointing out the problems is 
the first step in getting them fixed. I've marked the JIRAs above as 
blockers for the next release.

I'm hoping someone volunteers to address them, but if not I'll get them 
fixed before the first RC (Justin, keep me honest!).



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org