You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Kim van der Riet (JIRA)" <qp...@incubator.apache.org> on 2009/07/31 20:28:14 UTC

[jira] Created: (QPID-2017) Files for Async Store interface layer (NOTE, read carefully - license issues)

Files for Async Store interface layer (NOTE, read carefully - license issues)
-----------------------------------------------------------------------------

                 Key: QPID-2017
                 URL: https://issues.apache.org/jira/browse/QPID-2017
             Project: Qpid
          Issue Type: Task
          Components: C++ Broker
            Reporter: Kim van der Riet


These are the interface layer files for the C++ async store. They are encumbered with BDB, which is used to save the broker state. For this reason, these files are LGPL - and may not be checked in to subversion until BDB is replaced with an appropriate ASF-compatible replacement. Then these files may be re-licensed with an ASF license.

The StorePlugin.cpp file contains the actual plugin code; this in turn creates an instance of MessageStoreImpl, subclassed from qpid::broker::MessageStore.

MessageStoreImpl: This class is the centre of the async store and is responsible for coordinating recovery, initialization, transactions (both local and distributed), flow-to-disk loading and unloading and persisting broker state (queues, bindings etc.) in BDB. This class is in need of a tidy-up and refactorization - it has become rather large and unwieldy.

JournalImpl: This is the implementation of the async store. The header file is provided for context, as this is used throughout the MessageStoreImpl class.
DataTokenImpl: This is also a part of the async store implementation: an instance of this class tracks each stored message through the asyncronous write cycle, and can be used to track its status and find information such as the record ID (rid) in the store.

TxnCtxt: This class is the transaction context; an instance of this class is created for each transaction.

The remaining files are for various data structures which are reasonably straight forward to understand.

ASF legal recommends cleaning the files, then re-attaching to the JIRA without BDB code & with ASL headers before then committing to svn.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


Re: [jira] Created: (QPID-2017) Files for Async Store interface layer (NOTE, read carefully - license issues)

Posted by James Mansion <ja...@mansionfamily.plus.com>.
Kim van der Riet wrote:
> IANAL, you may be correct. However, this decision was made about 2 years
> ago out of an abundance of caution regarding non-apache-compatible
> licenses. The reason LGPL was selected was that it is suited for use
> with libraries (which this is - msgstore.so) which can be run against
> the apache-licensed qpidd.
>   
OK, so its self-inflicted.  Shame its not dual-licensed as Apache/LGPL 
with a tear-off option.
Or BSD.

Its just that it seemed to me similar to the APRutil/BDB situation - my 
recollection was that the
BDB interface code was retained in-tree but that it was not compiled by 
default in case a user
infected their own  code.

It probably is better that it evolves into an interface implementation 
anyway - hopefully Windows
will pick up a Jet implementation.  Presumably you could ship a SQLite 
one as a refeernce.

(Some things, COM did get right - we've been rather hasty as an industry 
to abandon it, just
because of the registry - which is actually not a direct requirement anyway)

Thanks
James


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


Re: [jira] Created: (QPID-2017) Files for Async Store interface layer (NOTE, read carefully - license issues)

Posted by Kim van der Riet <ki...@redhat.com>.
On Sat, 2009-08-01 at 08:05 +0100, James Mansion wrote:
> Kim van der Riet (JIRA) wrote:
> > They are encumbered with BDB, which is used to save the broker state. For this reason, these files are LGPL
> Why are they encumbered with BDB?  You aren't redistributing BDB are you?

No.

> And even if you deem that referencing symbols in BDB is somehow 
> 'redistribution' of
> (part of) BDB, why does that make it LGPL?
> 
> Surely it just requires:
> 
> 'Redistributions in any form must be accompanied by information on
> how to obtain complete source code for the DB software and any
> accompanying software that uses the DB software.'
> 
> (And that 's more like GPL, than LGPL)

IANAL, you may be correct. However, this decision was made about 2 years
ago out of an abundance of caution regarding non-apache-compatible
licenses. The reason LGPL was selected was that it is suited for use
with libraries (which this is - msgstore.so) which can be run against
the apache-licensed qpidd.

> I'm not sure how referencing BDB symbols can be redistributing BDB,
> but I guess Sleepycat and Oracle have no interest in clarity on that.
> 
> The symbols are discussed in books and documentation and used from code
> that could be considered as the source of snippets used.  APR has code that
> can use BDB doesn't it?
> 
> James

Whatever the reasons, the bottom line is that this interface code is
currently LGPL, and the process outlined in this JIRA is the one
suggested by Apache legal to get it into the current Qpid source tree.

Kim


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


Re: [jira] Created: (QPID-2017) Files for Async Store interface layer (NOTE, read carefully - license issues)

Posted by James Mansion <ja...@mansionfamily.plus.com>.
Kim van der Riet (JIRA) wrote:
> They are encumbered with BDB, which is used to save the broker state. For this reason, these files are LGPL
Why are they encumbered with BDB?  You aren't redistributing BDB are you?

And even if you deem that referencing symbols in BDB is somehow 
'redistribution' of
(part of) BDB, why does that make it LGPL?

Surely it just requires:

'Redistributions in any form must be accompanied by information on
how to obtain complete source code for the DB software and any
accompanying software that uses the DB software.'

(And that 's more like GPL, than LGPL)

I'm not sure how referencing BDB symbols can be redistributing BDB,
but I guess Sleepycat and Oracle have no interest in clarity on that.

The symbols are discussed in books and documentation and used from code
that could be considered as the source of snippets used.  APR has code that
can use BDB doesn't it?

James


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-2017) Files for Async Store interface layer (NOTE, read carefully - license issues)

Posted by "Kim van der Riet (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kim van der Riet updated QPID-2017:
-----------------------------------

    Attachment: BufferValue.cpp
                BufferValue.h
                BindingDbt.cpp

See notes in this JIRA about preparing these files for ASF

> Files for Async Store interface layer (NOTE, read carefully - license issues)
> -----------------------------------------------------------------------------
>
>                 Key: QPID-2017
>                 URL: https://issues.apache.org/jira/browse/QPID-2017
>             Project: Qpid
>          Issue Type: Task
>          Components: C++ Broker
>            Reporter: Kim van der Riet
>         Attachments: BindingDbt.cpp, BindingDbt.h, BufferValue.cpp, BufferValue.h, MessageStoreImpl.cpp, MessageStoreImpl.h, StorePlugin.cpp, TxnCtxt.cpp, TxnCtxt.h
>
>
> These are the interface layer files for the C++ async store. They are encumbered with BDB, which is used to save the broker state. For this reason, these files are LGPL - and may not be checked in to subversion until BDB is replaced with an appropriate ASF-compatible replacement. Then these files may be re-licensed with an ASF license.
> The StorePlugin.cpp file contains the actual plugin code; this in turn creates an instance of MessageStoreImpl, subclassed from qpid::broker::MessageStore.
> MessageStoreImpl: This class is the centre of the async store and is responsible for coordinating recovery, initialization, transactions (both local and distributed), flow-to-disk loading and unloading and persisting broker state (queues, bindings etc.) in BDB. This class is in need of a tidy-up and refactorization - it has become rather large and unwieldy.
> JournalImpl: This is the implementation of the async store. The header file is provided for context, as this is used throughout the MessageStoreImpl class.
> DataTokenImpl: This is also a part of the async store implementation: an instance of this class tracks each stored message through the asyncronous write cycle, and can be used to track its status and find information such as the record ID (rid) in the store.
> TxnCtxt: This class is the transaction context; an instance of this class is created for each transaction.
> The remaining files are for various data structures which are reasonably straight forward to understand.
> ASF legal recommends cleaning the files, then re-attaching to the JIRA without BDB code & with ASL headers before then committing to svn.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-2017) Files for Async Store interface layer (NOTE, read carefully - license issues)

Posted by "Kim van der Riet (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kim van der Riet updated QPID-2017:
-----------------------------------

    Attachment: PreparedTransaction.cpp
                PreparedTransaction.h
                IdSequence.cpp

> Files for Async Store interface layer (NOTE, read carefully - license issues)
> -----------------------------------------------------------------------------
>
>                 Key: QPID-2017
>                 URL: https://issues.apache.org/jira/browse/QPID-2017
>             Project: Qpid
>          Issue Type: Task
>          Components: C++ Broker
>            Reporter: Kim van der Riet
>         Attachments: BindingDbt.cpp, BindingDbt.h, BufferValue.cpp, BufferValue.h, IdDbt.cpp, IdDbt.h, IdSequence.cpp, IdSequence.h, MessageStoreImpl.cpp, MessageStoreImpl.h, PreparedTransaction.cpp, PreparedTransaction.h, StorePlugin.cpp, TxnCtxt.cpp, TxnCtxt.h
>
>
> These are the interface layer files for the C++ async store. They are encumbered with BDB, which is used to save the broker state. For this reason, these files are LGPL - and may not be checked in to subversion until BDB is replaced with an appropriate ASF-compatible replacement. Then these files may be re-licensed with an ASF license.
> The StorePlugin.cpp file contains the actual plugin code; this in turn creates an instance of MessageStoreImpl, subclassed from qpid::broker::MessageStore.
> MessageStoreImpl: This class is the centre of the async store and is responsible for coordinating recovery, initialization, transactions (both local and distributed), flow-to-disk loading and unloading and persisting broker state (queues, bindings etc.) in BDB. This class is in need of a tidy-up and refactorization - it has become rather large and unwieldy.
> JournalImpl: This is the implementation of the async store. The header file is provided for context, as this is used throughout the MessageStoreImpl class.
> DataTokenImpl: This is also a part of the async store implementation: an instance of this class tracks each stored message through the asyncronous write cycle, and can be used to track its status and find information such as the record ID (rid) in the store.
> TxnCtxt: This class is the transaction context; an instance of this class is created for each transaction.
> The remaining files are for various data structures which are reasonably straight forward to understand.
> ASF legal recommends cleaning the files, then re-attaching to the JIRA without BDB code & with ASL headers before then committing to svn.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-2017) Files for Async Store interface layer (NOTE, read carefully - license issues)

Posted by "Kim van der Riet (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kim van der Riet updated QPID-2017:
-----------------------------------

    Attachment: BindingDbt.h
                TxnCtxt.cpp
                TxnCtxt.h

See notes in this JIRA about preparing these files for ASL

> Files for Async Store interface layer (NOTE, read carefully - license issues)
> -----------------------------------------------------------------------------
>
>                 Key: QPID-2017
>                 URL: https://issues.apache.org/jira/browse/QPID-2017
>             Project: Qpid
>          Issue Type: Task
>          Components: C++ Broker
>            Reporter: Kim van der Riet
>         Attachments: BindingDbt.h, MessageStoreImpl.cpp, MessageStoreImpl.h, StorePlugin.cpp, TxnCtxt.cpp, TxnCtxt.h
>
>
> These are the interface layer files for the C++ async store. They are encumbered with BDB, which is used to save the broker state. For this reason, these files are LGPL - and may not be checked in to subversion until BDB is replaced with an appropriate ASF-compatible replacement. Then these files may be re-licensed with an ASF license.
> The StorePlugin.cpp file contains the actual plugin code; this in turn creates an instance of MessageStoreImpl, subclassed from qpid::broker::MessageStore.
> MessageStoreImpl: This class is the centre of the async store and is responsible for coordinating recovery, initialization, transactions (both local and distributed), flow-to-disk loading and unloading and persisting broker state (queues, bindings etc.) in BDB. This class is in need of a tidy-up and refactorization - it has become rather large and unwieldy.
> JournalImpl: This is the implementation of the async store. The header file is provided for context, as this is used throughout the MessageStoreImpl class.
> DataTokenImpl: This is also a part of the async store implementation: an instance of this class tracks each stored message through the asyncronous write cycle, and can be used to track its status and find information such as the record ID (rid) in the store.
> TxnCtxt: This class is the transaction context; an instance of this class is created for each transaction.
> The remaining files are for various data structures which are reasonably straight forward to understand.
> ASF legal recommends cleaning the files, then re-attaching to the JIRA without BDB code & with ASL headers before then committing to svn.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-2017) Files for Async Store interface layer (NOTE, read carefully - license issues)

Posted by "Kim van der Riet (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kim van der Riet updated QPID-2017:
-----------------------------------

    Attachment: IdSequence.h
                IdDbt.cpp
                IdDbt.h

> Files for Async Store interface layer (NOTE, read carefully - license issues)
> -----------------------------------------------------------------------------
>
>                 Key: QPID-2017
>                 URL: https://issues.apache.org/jira/browse/QPID-2017
>             Project: Qpid
>          Issue Type: Task
>          Components: C++ Broker
>            Reporter: Kim van der Riet
>         Attachments: BindingDbt.cpp, BindingDbt.h, BufferValue.cpp, BufferValue.h, IdDbt.cpp, IdDbt.h, IdSequence.cpp, IdSequence.h, MessageStoreImpl.cpp, MessageStoreImpl.h, PreparedTransaction.cpp, PreparedTransaction.h, StorePlugin.cpp, TxnCtxt.cpp, TxnCtxt.h
>
>
> These are the interface layer files for the C++ async store. They are encumbered with BDB, which is used to save the broker state. For this reason, these files are LGPL - and may not be checked in to subversion until BDB is replaced with an appropriate ASF-compatible replacement. Then these files may be re-licensed with an ASF license.
> The StorePlugin.cpp file contains the actual plugin code; this in turn creates an instance of MessageStoreImpl, subclassed from qpid::broker::MessageStore.
> MessageStoreImpl: This class is the centre of the async store and is responsible for coordinating recovery, initialization, transactions (both local and distributed), flow-to-disk loading and unloading and persisting broker state (queues, bindings etc.) in BDB. This class is in need of a tidy-up and refactorization - it has become rather large and unwieldy.
> JournalImpl: This is the implementation of the async store. The header file is provided for context, as this is used throughout the MessageStoreImpl class.
> DataTokenImpl: This is also a part of the async store implementation: an instance of this class tracks each stored message through the asyncronous write cycle, and can be used to track its status and find information such as the record ID (rid) in the store.
> TxnCtxt: This class is the transaction context; an instance of this class is created for each transaction.
> The remaining files are for various data structures which are reasonably straight forward to understand.
> ASF legal recommends cleaning the files, then re-attaching to the JIRA without BDB code & with ASL headers before then committing to svn.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Commented: (QPID-2017) Files for Async Store interface layer (NOTE, read carefully - license issues)

Posted by "Steve Huston (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12741436#action_12741436 ] 

Steve Huston commented on QPID-2017:
------------------------------------

I'd like one clarification on the relicensing issue please.

When replacing the license clause in the files, should it be simply the standard ASF license, or should that be preceded by the one-liner from existing source?

 * Copyright (c) 2007, 2008, 2009 Red Hat, Inc.


> Files for Async Store interface layer (NOTE, read carefully - license issues)
> -----------------------------------------------------------------------------
>
>                 Key: QPID-2017
>                 URL: https://issues.apache.org/jira/browse/QPID-2017
>             Project: Qpid
>          Issue Type: Task
>          Components: C++ Broker
>            Reporter: Kim van der Riet
>            Assignee: Steve Huston
>         Attachments: BindingDbt.cpp, BindingDbt.h, BufferValue.cpp, BufferValue.h, IdDbt.cpp, IdDbt.h, IdSequence.cpp, IdSequence.h, JournalImpl.h, MessageStoreImpl.cpp, MessageStoreImpl.h, PreparedTransaction.cpp, PreparedTransaction.h, StoreException.h, StorePlugin.cpp, TxnCtxt.cpp, TxnCtxt.h
>
>
> These are the interface layer files for the C++ async store. They are encumbered with BDB, which is used to save the broker state. For this reason, these files are LGPL - and may not be checked in to subversion until BDB is replaced with an appropriate ASF-compatible replacement. Then these files may be re-licensed with an ASF license.
> The StorePlugin.cpp file contains the actual plugin code; this in turn creates an instance of MessageStoreImpl, subclassed from qpid::broker::MessageStore.
> MessageStoreImpl: This class is the centre of the async store and is responsible for coordinating recovery, initialization, transactions (both local and distributed), flow-to-disk loading and unloading and persisting broker state (queues, bindings etc.) in BDB. This class is in need of a tidy-up and refactorization - it has become rather large and unwieldy.
> JournalImpl: This is the implementation of the async store. The header file is provided for context, as this is used throughout the MessageStoreImpl class.
> DataTokenImpl: This is also a part of the async store implementation: an instance of this class tracks each stored message through the asyncronous write cycle, and can be used to track its status and find information such as the record ID (rid) in the store.
> TxnCtxt: This class is the transaction context; an instance of this class is created for each transaction.
> The remaining files are for various data structures which are reasonably straight forward to understand.
> ASF legal recommends cleaning the files, then re-attaching to the JIRA without BDB code & with ASL headers before then committing to svn.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-2017) Files for Async Store interface layer (NOTE, read carefully - license issues)

Posted by "Kim van der Riet (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kim van der Riet updated QPID-2017:
-----------------------------------

    Attachment: MessageStoreImpl.cpp
                MessageStoreImpl.h
                StorePlugin.cpp

See comments in this JIRA about preparing these files for ASF inclusion

> Files for Async Store interface layer (NOTE, read carefully - license issues)
> -----------------------------------------------------------------------------
>
>                 Key: QPID-2017
>                 URL: https://issues.apache.org/jira/browse/QPID-2017
>             Project: Qpid
>          Issue Type: Task
>          Components: C++ Broker
>            Reporter: Kim van der Riet
>         Attachments: MessageStoreImpl.cpp, MessageStoreImpl.h, StorePlugin.cpp
>
>
> These are the interface layer files for the C++ async store. They are encumbered with BDB, which is used to save the broker state. For this reason, these files are LGPL - and may not be checked in to subversion until BDB is replaced with an appropriate ASF-compatible replacement. Then these files may be re-licensed with an ASF license.
> The StorePlugin.cpp file contains the actual plugin code; this in turn creates an instance of MessageStoreImpl, subclassed from qpid::broker::MessageStore.
> MessageStoreImpl: This class is the centre of the async store and is responsible for coordinating recovery, initialization, transactions (both local and distributed), flow-to-disk loading and unloading and persisting broker state (queues, bindings etc.) in BDB. This class is in need of a tidy-up and refactorization - it has become rather large and unwieldy.
> JournalImpl: This is the implementation of the async store. The header file is provided for context, as this is used throughout the MessageStoreImpl class.
> DataTokenImpl: This is also a part of the async store implementation: an instance of this class tracks each stored message through the asyncronous write cycle, and can be used to track its status and find information such as the record ID (rid) in the store.
> TxnCtxt: This class is the transaction context; an instance of this class is created for each transaction.
> The remaining files are for various data structures which are reasonably straight forward to understand.
> ASF legal recommends cleaning the files, then re-attaching to the JIRA without BDB code & with ASL headers before then committing to svn.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-2017) Files for Async Store interface layer (NOTE, read carefully - license issues)

Posted by "Kim van der Riet (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kim van der Riet updated QPID-2017:
-----------------------------------

    Attachment: JournalImpl.h
                StoreException.h

> Files for Async Store interface layer (NOTE, read carefully - license issues)
> -----------------------------------------------------------------------------
>
>                 Key: QPID-2017
>                 URL: https://issues.apache.org/jira/browse/QPID-2017
>             Project: Qpid
>          Issue Type: Task
>          Components: C++ Broker
>            Reporter: Kim van der Riet
>         Attachments: BindingDbt.cpp, BindingDbt.h, BufferValue.cpp, BufferValue.h, IdDbt.cpp, IdDbt.h, IdSequence.cpp, IdSequence.h, JournalImpl.h, MessageStoreImpl.cpp, MessageStoreImpl.h, PreparedTransaction.cpp, PreparedTransaction.h, StoreException.h, StorePlugin.cpp, TxnCtxt.cpp, TxnCtxt.h
>
>
> These are the interface layer files for the C++ async store. They are encumbered with BDB, which is used to save the broker state. For this reason, these files are LGPL - and may not be checked in to subversion until BDB is replaced with an appropriate ASF-compatible replacement. Then these files may be re-licensed with an ASF license.
> The StorePlugin.cpp file contains the actual plugin code; this in turn creates an instance of MessageStoreImpl, subclassed from qpid::broker::MessageStore.
> MessageStoreImpl: This class is the centre of the async store and is responsible for coordinating recovery, initialization, transactions (both local and distributed), flow-to-disk loading and unloading and persisting broker state (queues, bindings etc.) in BDB. This class is in need of a tidy-up and refactorization - it has become rather large and unwieldy.
> JournalImpl: This is the implementation of the async store. The header file is provided for context, as this is used throughout the MessageStoreImpl class.
> DataTokenImpl: This is also a part of the async store implementation: an instance of this class tracks each stored message through the asyncronous write cycle, and can be used to track its status and find information such as the record ID (rid) in the store.
> TxnCtxt: This class is the transaction context; an instance of this class is created for each transaction.
> The remaining files are for various data structures which are reasonably straight forward to understand.
> ASF legal recommends cleaning the files, then re-attaching to the JIRA without BDB code & with ASL headers before then committing to svn.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


RE: [jira] Updated: (QPID-2017) Files for Async Store interface layer (NOTE, read carefully - license issues)

Posted by Steve Huston <sh...@riverace.com>.
Commit is in, but not (yet) the cmake file change that adds it to the
build.

-Steve

> -----Original Message-----
> From: Kim van der Riet [mailto:kim.vdriet@redhat.com] 
> Sent: Wednesday, October 14, 2009 10:52 AM
> To: dev@qpid.apache.org
> Subject: Re: [jira] Updated: (QPID-2017) Files for Async 
> Store interface layer (NOTE, read carefully - license issues)
> 
> 
> I would like to have a closer look, but will be tied up for 
> the rest of
> this week. Can you delay the final commit until next week?
> 
> On Tue, 2009-10-13 at 16:55 -0700, Steve Huston (JIRA) wrote:
> > [ 
> https://issues.apache.org/jira/browse/QPID-2017?page=com.atlas
sian.jira.plugin.system.issuetabpanels:all-tabpanel ]
> 
> Steve Huston updated QPID-2017:
> -------------------------------
> 
>     Attachment: store.tar
>                 store-new.patch
> 
> I've attached two new files related to this:
> 
> - store.tar: The store files I'm proposing to add. This has two
levels:
>                    store - the portable store code
>                    ms-sql - the code particular to the Microsoft SQL
Server storage provider
> 
> - store-new.patch: Patch for the existing broker to allow the above
to work. There are a couple of areas here:
>       - Extend the plugin loading to sense the module file suffix
for the platform (.so vs .dll)
>       - Remove the init(Options*) method from the MessageStore
interface. The new store::MessageStorePlugin class (in the portable
store layer) takes are of initialization at earlyInitialize - the
init() method was never called anywhere in the broker except from the
store anyway.
> 
> I'd like to be sure this is included in 0.6. If you have feedback on
this, please let me know ASAP as I'd like to get this checked in this
week.
> 



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


Re: [jira] Updated: (QPID-2017) Files for Async Store interface layer (NOTE, read carefully - license issues)

Posted by Kim van der Riet <ki...@redhat.com>.
I would like to have a closer look, but will be tied up for the rest of
this week. Can you delay the final commit until next week?

On Tue, 2009-10-13 at 16:55 -0700, Steve Huston (JIRA) wrote:
> [ https://issues.apache.org/jira/browse/QPID-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
> 
> Steve Huston updated QPID-2017:
> -------------------------------
> 
>     Attachment: store.tar
>                 store-new.patch
> 
> I've attached two new files related to this:
> 
> - store.tar: The store files I'm proposing to add. This has two levels:
>                    store - the portable store code
>                    ms-sql - the code particular to the Microsoft SQL Server storage provider
> 
> - store-new.patch: Patch for the existing broker to allow the above to work. There are a couple of areas here:
>       - Extend the plugin loading to sense the module file suffix for the platform (.so vs .dll)
>       - Remove the init(Options*) method from the MessageStore interface. The new store::MessageStorePlugin class (in the portable store layer) takes are of initialization at earlyInitialize - the init() method was never called anywhere in the broker except from the store anyway.
> 
> I'd like to be sure this is included in 0.6. If you have feedback on this, please let me know ASAP as I'd like to get this checked in this week.
> 



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-2017) Files for Async Store interface layer (NOTE, read carefully - license issues)

Posted by "Steve Huston (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Huston updated QPID-2017:
-------------------------------

    Attachment: store.tar
                store-new.patch

I've attached two new files related to this:

- store.tar: The store files I'm proposing to add. This has two levels:
                   store - the portable store code
                   ms-sql - the code particular to the Microsoft SQL Server storage provider

- store-new.patch: Patch for the existing broker to allow the above to work. There are a couple of areas here:
      - Extend the plugin loading to sense the module file suffix for the platform (.so vs .dll)
      - Remove the init(Options*) method from the MessageStore interface. The new store::MessageStorePlugin class (in the portable store layer) takes are of initialization at earlyInitialize - the init() method was never called anywhere in the broker except from the store anyway.

I'd like to be sure this is included in 0.6. If you have feedback on this, please let me know ASAP as I'd like to get this checked in this week.

> Files for Async Store interface layer (NOTE, read carefully - license issues)
> -----------------------------------------------------------------------------
>
>                 Key: QPID-2017
>                 URL: https://issues.apache.org/jira/browse/QPID-2017
>             Project: Qpid
>          Issue Type: Task
>          Components: C++ Broker
>            Reporter: Kim van der Riet
>            Assignee: Steve Huston
>         Attachments: BindingDbt.cpp, BindingDbt.h, BufferValue.cpp, BufferValue.h, IdDbt.cpp, IdDbt.h, IdSequence.cpp, IdSequence.h, JournalImpl.h, MessageStoreImpl.cpp, MessageStoreImpl.h, PreparedTransaction.cpp, PreparedTransaction.h, store-new.patch, store.tar, StoreException.h, StorePlugin.cpp, TxnCtxt.cpp, TxnCtxt.h
>
>
> These are the interface layer files for the C++ async store. They are encumbered with BDB, which is used to save the broker state. For this reason, these files are LGPL - and may not be checked in to subversion until BDB is replaced with an appropriate ASF-compatible replacement. Then these files may be re-licensed with an ASF license.
> The StorePlugin.cpp file contains the actual plugin code; this in turn creates an instance of MessageStoreImpl, subclassed from qpid::broker::MessageStore.
> MessageStoreImpl: This class is the centre of the async store and is responsible for coordinating recovery, initialization, transactions (both local and distributed), flow-to-disk loading and unloading and persisting broker state (queues, bindings etc.) in BDB. This class is in need of a tidy-up and refactorization - it has become rather large and unwieldy.
> JournalImpl: This is the implementation of the async store. The header file is provided for context, as this is used throughout the MessageStoreImpl class.
> DataTokenImpl: This is also a part of the async store implementation: an instance of this class tracks each stored message through the asyncronous write cycle, and can be used to track its status and find information such as the record ID (rid) in the store.
> TxnCtxt: This class is the transaction context; an instance of this class is created for each transaction.
> The remaining files are for various data structures which are reasonably straight forward to understand.
> ASF legal recommends cleaning the files, then re-attaching to the JIRA without BDB code & with ASL headers before then committing to svn.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Assigned: (QPID-2017) Files for Async Store interface layer (NOTE, read carefully - license issues)

Posted by "Steve Huston (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Huston reassigned QPID-2017:
----------------------------------

    Assignee: Steve Huston

> Files for Async Store interface layer (NOTE, read carefully - license issues)
> -----------------------------------------------------------------------------
>
>                 Key: QPID-2017
>                 URL: https://issues.apache.org/jira/browse/QPID-2017
>             Project: Qpid
>          Issue Type: Task
>          Components: C++ Broker
>            Reporter: Kim van der Riet
>            Assignee: Steve Huston
>         Attachments: BindingDbt.cpp, BindingDbt.h, BufferValue.cpp, BufferValue.h, IdDbt.cpp, IdDbt.h, IdSequence.cpp, IdSequence.h, JournalImpl.h, MessageStoreImpl.cpp, MessageStoreImpl.h, PreparedTransaction.cpp, PreparedTransaction.h, StoreException.h, StorePlugin.cpp, TxnCtxt.cpp, TxnCtxt.h
>
>
> These are the interface layer files for the C++ async store. They are encumbered with BDB, which is used to save the broker state. For this reason, these files are LGPL - and may not be checked in to subversion until BDB is replaced with an appropriate ASF-compatible replacement. Then these files may be re-licensed with an ASF license.
> The StorePlugin.cpp file contains the actual plugin code; this in turn creates an instance of MessageStoreImpl, subclassed from qpid::broker::MessageStore.
> MessageStoreImpl: This class is the centre of the async store and is responsible for coordinating recovery, initialization, transactions (both local and distributed), flow-to-disk loading and unloading and persisting broker state (queues, bindings etc.) in BDB. This class is in need of a tidy-up and refactorization - it has become rather large and unwieldy.
> JournalImpl: This is the implementation of the async store. The header file is provided for context, as this is used throughout the MessageStoreImpl class.
> DataTokenImpl: This is also a part of the async store implementation: an instance of this class tracks each stored message through the asyncronous write cycle, and can be used to track its status and find information such as the record ID (rid) in the store.
> TxnCtxt: This class is the transaction context; an instance of this class is created for each transaction.
> The remaining files are for various data structures which are reasonably straight forward to understand.
> ASF legal recommends cleaning the files, then re-attaching to the JIRA without BDB code & with ASL headers before then committing to svn.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org