[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#914114: marked as done (ITP: golang-github-bmatsuo-lmdb-go -- Bindings for the LMDB C library)



Your message dated Mon, 19 Nov 2018 20:07:46 +0000
with message-id <E1gOppi-0006sx-CN@fasolo.debian.org>
and subject line Bug#914114: fixed in golang-github-bmatsuo-lmdb-go 1.8.0+git20170215.a14b5a3-1
has caused the Debian Bug report #914114,
regarding ITP: golang-github-bmatsuo-lmdb-go -- Bindings for the LMDB C library
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
914114: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=914114
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: wnpp
Severity: wishlist
Owner: Andreas Henriksson <andreas@fatal.se>

* Package name    : golang-github-bmatsuo-lmdb-go
  Version         : 1.8.0+git20170215.a14b5a3-1
  Upstream Author : Bryan Matsuo
* URL             : https://github.com/bmatsuo/lmdb-go
* License         : BSD-3-clause
  Programming Lang: Go
  Description     : Bindings for the LMDB C library

 lmdb-go releases/v1.8.0 (releases) C/v0.9.19
 (https://github.com/LMDB/lmdb/blob/mdb.RE/0.9/libraries/liblmdb/CHANGES)
 Build Status (https://travis-ci.org/bmatsuo/lmdb-go) Go bindings to the
 OpenLDAP Lightning Memory-Mapped Database (LMDB).  Packages Functionality
 is logically divided into several packages.  Applications will usually
 need to import lmdb but may import other packages on an as needed basis.
 .
 Packages in the exp/ directory are not stable and may change without
 warning.  That said, they are generally usable if application dependencies
 are managed and pinned by tag/commit.
 .
 Developers concerned with package stability
 should consult the documentation.  lmdb GoDoc
 (https://godoc.org/github.com/bmatsuo/lmdb-go/lmdb)
 stable (#user-content-versioning-and-stability) go import
 "github.com/bmatsuo/lmdb-go/lmdb"
 .
 .
 Core bindings allowing low-level access to LMDB.  lmdbscan
 GoDoc (https://godoc.org/github.com/bmatsuo/lmdb-go/lmdbscan)
 stable (#user-content-versioning-and-stability) go import
 "github.com/bmatsuo/lmdb-go/lmdbscan"
 .
 .
 A utility package for scanning database
 ranges. The API is inspired by bufio.Scanner
 (https://godoc.org/bufio#Scanner) and the python cursor implementation
 (https://lmdb.readthedocs.org/en/release/#cursor-class).  exp/lmdbpool
 GoDoc (https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbpool)
 experimental (#user-content-versioning-and-stability) go import
 "github.com/bmatsuo/lmdb-go/exp/lmdbpool"
 .
 .
 A utility package which facilitates reuse of lmdb.Txn objects using
 a sync.Pool.  Naively storing lmdb.Txn objects in sync.Pool can
 be troublesome.  And the lmdbpool.TxnPool type has been defined as a
 complete pooling solution and as reference for applications attempting
 to write their own pooling implementation.
 .
 The lmdbpool package is relatively new.  But it has a lot
 of potential utility.  And once the lmdbpool API has been
 ironed out, and the implementation hardened through use by real
 applications it can be integrated directly into the lmdb package
 for more transparent integration.  Please test this package and
 provide feedback to speed this process up.  exp/lmdbsync GoDoc
 (https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbsync)
 experimental (#user-content-versioning-and-stability) go import
 "github.com/bmatsuo/lmdb-go/exp/lmdbsync"
 .
 .
 An experimental utility package that provides synchronization necessary
 to change an environment's map size after initialization.  The package
 provides error handlers to automatically manage database size and retry
 failed transactions.
 .
 The lmdbsync package is usable but the implementation of Handlers
 are unstable and may change in incompatible ways without notice.
 The use cases of dynamic map sizes and multiprocessing are niche
 and the package requires much more development driven by practical
 feedback before the Handler API and the provided implementations can be
 considered stable.  Key FeaturesIdiomatic API API inspired by BoltDB
 (https://github.com/boltdb/bolt) with automatic commit/rollback of
 transactions.  The goal of lmdb-go is to provide idiomatic database
 interactions without compromising the flexibility of the C API.
 .
 NOTE: While the lmdb package tries hard to make LMDB as easy to
 use as possible there are compromises, gotchas, and caveats that
 application developers must be aware of when relying on LMDB to store
 their data.  All users are encouraged to fully read the documentation
 (https://godoc.org/github.com/bmatsuo/lmdb-go/lmdb) so they are aware
 of these caveats.
 .
 Where the lmdb package and its implementation decisions do not
 meet the needs of application developers in terms of safety or
 operational use the lmdbsync package has been designed to wrap lmdb and
 safely fill in additional functionality.  Consult the documentation
 (https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbsync) for more
 information about the lmdbsync package.  API coverage The lmdb-go
 project aims for complete coverage of the LMDB C API (within reason).
 Some notable features and optimizations that are supported: • Idiomatic
 subtransactions ("sub-updates") that allow the batching of updates.•
 Batch IO on databases utilizing the MDB_DUPSORT and MDB_DUPFIXED flags.•
 Reserved writes than can save in memory copies converting/buffering into
 []byte.  For tracking purposes a list of unsupported features is kept in
 an issue (https://github.com/bmatsuo/lmdb-go/issues/1).  Zero-copy reads
 Applications with high performance requirements can opt-in to fast,
 zero-copy reads at the cost of runtime safety.  Zero-copy behavior is
 specified at the transaction level to reduce instrumentation overhead.
 .
 ``` err := lmdb.View(func(txn *lmdb.Txn) error {
     // RawRead enables zero-copy behavior with some serious caveats.
     // Read the documentation carefully before using.  txn.RawRead = true
 val, err := txn.Get(dbi, []byte("largevalue"), 0) // ...
 .
 }) ``` Documentation Comprehensive documentation and examples
 are provided to demonstrate safe usage of lmdb.  In addition to
 godoc (https://godoc.org/github.com/bmatsuo/lmdb-go) documentation,
 implementations of the standand LMDB commands (mdb_stat, etc) can be found
 in the cmd/ (cmd/) directory and some simple experimental commands can be
 found in the exp/cmd/ (exp/cmd) directory.  Aside from providing minor
 utility these programs are provided as examples of lmdb in practice.
 LMDB compared to BoltDB BoltDB is a quality database with a design
 similar to LMDB.  Both store key-value data in a file and provide ACID
 transactions.  So there are often questions of why to use one database
 or the other.  Advantages of BoltDB• Nested databases allow for
 hierarchical data organization.• Far more databases can be accessed
 concurrently.• Operating systems that do not support sparse files do
 not use up excessive space due to a large pre-allocation of file space.
 The exp/lmdbsync package is intended to resolve this problem with
 LMDB but it is not ready.• As a pure Go package bolt can be easily
 cross-compiled using the go toolchain and GOOS/GOARCH variables.• Its
 simpler design and implementation in pure Go mean it is free of many
 caveats and gotchas which are present using the lmdb package.  For more
 information about caveats with the lmdb package, consult its documentation
 (https://godoc.org/github.com/bmatsuo/lmdb-go/lmdb).Advantages of LMDB•
 Keys can contain multiple values using the DupSort flag.• Updates can
 have sub-updates for atomic batching of changes.• Databases typically
 remain open for the application lifetime.  This limits the number of
 concurrently accessible databases.  But, this minimizes the overhead of
 database accesses and typically produces cleaner code than an equivalent
 BoltDB implementation.• Significantly faster than BoltDB.  The raw
 speed of LMDB easily surpasses BoltDB.  Additionally, LMDB provides
 optimizations ranging from safe, feature-specific optimizations to
 generally unsafe, extremely situational ones.  Applications are free to
 enable any optimizations that fit their data, access, and reliability
 models.• LMDB allows multiple applications to access a database
 simultaneously.  Updates from concurrent processes are synchronized using
 a database lock file.• As a C library, applications in any language
 can interact with LMDB databases.  Mission critical Go applications can
 use a database while Python scripts perform analysis on the side.Build
 There is no dependency on shared libraries.  So most users can simply
 install using go get.
 .
 go get github.com/bmatsuo/lmdb-go/lmdb
 .
 On FreeBSD 10, you must explicitly set CC (otherwise it will fail with
 a cryptic error), for example: CC=clang go test -v ./...
 .
 Building commands and running tests can be done with go or with make
 make bin make test make check make all
 .
 On Linux, you can specify the pwritev build tag to reduce the number
 of syscalls required when committing a transaction. In your own package
 you can then do go build -tags pwritev .
 .
 to enable the optimisation.  DocumentationGo doc The go doc documentation
 available on godoc.org (https://godoc.org/github.com/bmatsuo/lmdb-go)
 is the primary source of developer documentation for lmdb-go.
 It provides an overview of the API with a lot of usage examples.
 Where necessary the documentation points out differences between
 the semantics of methods and their C counterparts.  LMDB The
 LMDB homepage (http://symas.com/mdb/) and mailing list (archives
 (http://www.openldap.org/lists/openldap-technical/)) are the official
 source of documentation regarding low-level LMDB operation and internals.
 .
 Along with an API reference LMDB provides a high-level summary
 (http://symas.com/mdb/doc/starting.html) of the library.  While lmdb-go
 abstracts many of the thread and transaction details by default the rest
 of the guide is still useful to compare with go doc.  Versioning and
 Stability The lmdb-go project makes regular releases with IDs X.Y.Z.
 All packages outside of the exp/ directory are considered stable and
 adhere to the guidelines of semantic versioning (http://semver.org/).
 .
 Experimental packages (those packages in exp/) are not required to adhere
 to semantic versioning.  However packages specifically declared to merely
 be "unstable" can be relied on more for long term use with less concern.
 .
 The API of an unstable package may change in subtle ways between minor
 release versions.  But deprecations will be indicated at least one
 release in advance and all functionality will remain available through
 some method.  License Except where otherwise noted files in the lmdb-go
 project are licensed under the BSD 3-clause open source license.
 .
 The LMDB C source is licensed under the OpenLDAP Public License.
 Linksgithub.com/bmatsuo/raft-mdb (https://github.com/bmatsuo/raft-mdb)
 (godoc (https://godoc.org/github.com/bmatsuo/raft-mdb))
 An experimental backend for github.com/hashicorp/raft
 (https://github.com/hashicorp/raft) forked from
 github.com/hashicorp/raft-mdb (https://github.com/hashicorp/raft-mdb).
 github.com/bmatsuo/cayley/graph/lmdb
 (https://github.com/bmatsuo/cayley/tree/master/graph/lmdb)
 (godoc (https://godoc.org/github.com/bmatsuo/cayley/graph/lmdb))
 Experimental backend quad-store for github.com/google/cayley
 (https://github.com/google/cayley) based off of the BoltDB implementation
 (https://github.com/google/cayley/tree/master/graph/bolt).

This is a dependency needed by mender-client package.

--- End Message ---
--- Begin Message ---
Source: golang-github-bmatsuo-lmdb-go
Source-Version: 1.8.0+git20170215.a14b5a3-1

We believe that the bug you reported is fixed in the latest version of
golang-github-bmatsuo-lmdb-go, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 914114@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Andreas Henriksson <andreas@fatal.se> (supplier of updated golang-github-bmatsuo-lmdb-go package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Mon, 19 Nov 2018 17:37:27 +0100
Source: golang-github-bmatsuo-lmdb-go
Binary: golang-github-bmatsuo-lmdb-go-dev lmdb-go-tools
Architecture: source all amd64
Version: 1.8.0+git20170215.a14b5a3-1
Distribution: experimental
Urgency: medium
Maintainer: Debian Go Packaging Team <team+pkg-go@tracker.debian.org>
Changed-By: Andreas Henriksson <andreas@fatal.se>
Description:
 golang-github-bmatsuo-lmdb-go-dev - Bindings for the LMDB C library
 lmdb-go-tools - utilities for command-line lmdb usage
Closes: 914114
Changes:
 golang-github-bmatsuo-lmdb-go (1.8.0+git20170215.a14b5a3-1) experimental; urgency=medium
 .
   * Initial release (Closes: #914114)
Checksums-Sha1:
 4f84f5ee07ab5009ee56adebb6dab2d6159bc676 2496 golang-github-bmatsuo-lmdb-go_1.8.0+git20170215.a14b5a3-1.dsc
 38ae91925b61773f7568fef67cadef9a8b60347d 142472 golang-github-bmatsuo-lmdb-go_1.8.0+git20170215.a14b5a3.orig.tar.xz
 2503b6b736dfde3b1c873696f2d7d75e1c809b7a 6536 golang-github-bmatsuo-lmdb-go_1.8.0+git20170215.a14b5a3-1.debian.tar.xz
 f787bd629f79c94aa6c0537416c8fa00a437cef4 144840 golang-github-bmatsuo-lmdb-go-dev_1.8.0+git20170215.a14b5a3-1_all.deb
 bb994c99b3b4b1f67769be0617f8938cc245872c 6871 golang-github-bmatsuo-lmdb-go_1.8.0+git20170215.a14b5a3-1_amd64.buildinfo
 31d3015484bb7bb893cf138f2682462034f83b6e 1550484 lmdb-go-tools-dbgsym_1.8.0+git20170215.a14b5a3-1_amd64.deb
 5a2c78c89a77dcc150c46117dd608cbad2f831aa 943924 lmdb-go-tools_1.8.0+git20170215.a14b5a3-1_amd64.deb
Checksums-Sha256:
 7387a51d72062fdd873dea1d2924f9f224f215c55b92cce1e33cc84656a34847 2496 golang-github-bmatsuo-lmdb-go_1.8.0+git20170215.a14b5a3-1.dsc
 f5c2680ca5b470035ddec730141d127a3ea4d7e9e1ab3e99ab1fa42f251f3966 142472 golang-github-bmatsuo-lmdb-go_1.8.0+git20170215.a14b5a3.orig.tar.xz
 3541b5d21d94fa73f416bcd2933506dc8e5ab1c4d5f65acf82c5967c11fc01d2 6536 golang-github-bmatsuo-lmdb-go_1.8.0+git20170215.a14b5a3-1.debian.tar.xz
 dc7e8cc7eb260823e959f9d152a2e8a5b089f53d933e04532a86d3513b6006fd 144840 golang-github-bmatsuo-lmdb-go-dev_1.8.0+git20170215.a14b5a3-1_all.deb
 414a889ffbd831d519641847e8920cf5575f029cdb6bf0f141cef1845682657c 6871 golang-github-bmatsuo-lmdb-go_1.8.0+git20170215.a14b5a3-1_amd64.buildinfo
 51c33a73bab4868c51da908b50bc5ac9f11cced42bda0fdddd32269a3902ac9f 1550484 lmdb-go-tools-dbgsym_1.8.0+git20170215.a14b5a3-1_amd64.deb
 dc79dbc29489893746762d04ae5ecf73d6ee465977539cafb9bb7c9fd97154ab 943924 lmdb-go-tools_1.8.0+git20170215.a14b5a3-1_amd64.deb
Files:
 0d872d04931fe374cf667ac58c89a23f 2496 devel optional golang-github-bmatsuo-lmdb-go_1.8.0+git20170215.a14b5a3-1.dsc
 897132be1b81d42fae6889e4ec1ab674 142472 devel optional golang-github-bmatsuo-lmdb-go_1.8.0+git20170215.a14b5a3.orig.tar.xz
 4cd06ef639c6ea56a6f2d189cf42dda6 6536 devel optional golang-github-bmatsuo-lmdb-go_1.8.0+git20170215.a14b5a3-1.debian.tar.xz
 457027af36ca98e692d87fd119288f55 144840 devel optional golang-github-bmatsuo-lmdb-go-dev_1.8.0+git20170215.a14b5a3-1_all.deb
 2649e5aa753759071cc4a468559968e6 6871 devel optional golang-github-bmatsuo-lmdb-go_1.8.0+git20170215.a14b5a3-1_amd64.buildinfo
 6ea4772ad41ef59acbbf06ea5f28c20f 1550484 debug optional lmdb-go-tools-dbgsym_1.8.0+git20170215.a14b5a3-1_amd64.deb
 8d1f591b1b84960762fd16a13c62f75d 943924 devel optional lmdb-go-tools_1.8.0+git20170215.a14b5a3-1_amd64.deb

-----BEGIN PGP SIGNATURE-----

iQJFBAEBCgAvFiEE+uHltkZSvnmOJ4zCC8R9xk0TUwYFAlvy9dIRHGFuZHJlYXNA
ZmF0YWwuc2UACgkQC8R9xk0TUwYgog//Q8egQq60AQ+paAkf0C0FET+yOdf6l4nx
b6q7HFWfD4LHfCkI+M0rmuWdinkiN3Z2kKAXVWYaEijZG0zOY8eZb63DXEC8fsoQ
e5LKfqydN0E1O3ftn3vSpcunvySEIFu2VKopcOfK4MQPO0Zyk/75kC6Ok9uTWyHN
B2gDOW2HgDshrZI0N2jiGRaiOa5ueMuPTtJEWp6jYcfvqpAYcu15qxOuZTujlKF2
VulHzAPUCPqqQBGR8hWh7exvL8QQmTKCg6gSZFuvajKK1UJwQz+cPKzmHcg+03qe
Qp7MOztDJhekMT3NX/FbpmHbSv+yaaUWJHwpcDoQC2nxgxVV9dxenoyt9OqnzxU1
ZyuBMghv9SLwoELYEO8IndLFf6uC2PVbyfllUX8fUi0Zw7Oe5tUhj9w+vASeD6X+
4Fl5XZJF6QwO8NLnKakkIdfv/W+JzKEtiWJnP47NNKuv5HhH86/GlAePgx9/hwmA
OfMeCCV+Q9BW+tnPr8+KY4dnFK533t5HvDcvb04fRIZH1HitRctXgq5HaTemCari
6QypQic1uMwjdZM7bsX6IzR0Y+ogc6/DY0kKZcryBM5nc39j7aRqG3CnbzRtNKm7
8PmOyw/2j7wymUSH3p3R1c31h+6C2Ve1QIAj2dgcpYJKaQNJSKYsE9jEG9+9S/Qi
GXY+QXs0K6o=
=Vbbb
-----END PGP SIGNATURE-----

--- End Message ---

Reply to: