blevesearch / zapx Goto Github PK
View Code? Open in Web Editor NEWZap file format compatible with a future version of Bleve
License: Apache License 2.0
Zap file format compatible with a future version of Bleve
License: Apache License 2.0
Many tests rely on hard-coded "/tmp" filenames which fail on Windows. We should fix this, backport to all active branches, and re-enable windows in the CI.
Hello,
I got the following panic. My setup is running owncloud/ocis on a Raspberry Pi with ARM (32-bit) architecture.
panic: unaligned 64-bit atomic operation
goroutine 6508 [running]:
runtime/internal/atomic.panicUnaligned()
runtime/internal/atomic/unaligned.go:8 +0x24
runtime/internal/atomic.Xadd64(0x88bc7f4, 0x4)
runtime/internal/atomic/atomic_arm.s:258 +0x14
github.com/blevesearch/zapx/v15.(*chunkedContentCoder).incrementBytesWritten(...)
github.com/blevesearch/zapx/[email protected]/contentcoder.go:114
github.com/blevesearch/zapx/v15.(*chunkedContentCoder).flushContents(0x88bc780)
github.com/blevesearch/zapx/[email protected]/contentcoder.go:143 +0x294
github.com/blevesearch/zapx/v15.(*chunkedContentCoder).Close(...)
github.com/blevesearch/zapx/[email protected]/contentcoder.go:110
github.com/blevesearch/zapx/v15.(*interim).writeDicts(0x81f81e0)
github.com/blevesearch/zapx/[email protected]/new.go:803 +0x11d8
github.com/blevesearch/zapx/v15.(*interim).convert(0x81f81e0)
github.com/blevesearch/zapx/[email protected]/new.go:277 +0x2f8
github.com/blevesearch/zapx/v15.(*ZapPlugin).newWithChunkMode(0x4724798, {0x88c79c0, 0x1, 0x1}, 0x402)
github.com/blevesearch/zapx/[email protected]/new.go:72 +0x218
github.com/blevesearch/zapx/v15.(*ZapPlugin).New(0x4724798, {0x88c79c0, 0x1, 0x1})
github.com/blevesearch/zapx/[email protected]/new.go:47 +0x40
github.com/blevesearch/bleve/v2/index/scorch.(*Scorch).Batch(0x68c6800, 0x88d8d20)
github.com/blevesearch/bleve/[email protected]/index/scorch/scorch.go:412 +0x5cc
github.com/blevesearch/bleve/v2/index/scorch.(*Scorch).Update(0x68c6800, {0x33b11d4, 0x88da9c0})
github.com/blevesearch/bleve/[email protected]/index/scorch/scorch.go:335 +0x104
github.com/blevesearch/bleve/v2.(*indexImpl).Index(0x774b5e0, {0x88e8a80, 0x6e}, {0x1d79548, 0x88e0500})
github.com/blevesearch/bleve/[email protected]/index_impl.go:258 +0x218
github.com/owncloud/ocis/v2/services/search/pkg/search/index.(*Index).Add(0x723d8a0, 0x88da8c0, 0x7ec9380)
github.com/owncloud/ocis/v2/services/search/pkg/search/index/index.go:97 +0x9c
github.com/owncloud/ocis/v2/services/search/pkg/search/provider.(*Provider).doIndexSpace.func1({0x0, 0x0}, 0x7ec9380, {0x0,
github.com/owncloud/ocis/v2/services/search/pkg/search/provider/searchprovider.go:337 +0x590
github.com/cs3org/reva/v2/pkg/storage/utils/walker.(*revaWalker).walkRecursively(0x988fe3c, {0x33ac284, 0x88c31d0}, {0x0, 0x
github.com/cs3org/reva/[email protected]/pkg/storage/utils/walker/walker.go:81 +0x90
github.com/cs3org/reva/v2/pkg/storage/utils/walker.(*revaWalker).Walk(0x719fe3c, {0x33ac284, 0x88c31d0}, 0x88cb740, 0x719fe6
github.com/cs3org/reva/[email protected]/pkg/storage/utils/walker/walker.go:65 +0x84
github.com/owncloud/ocis/v2/services/search/pkg/search/provider.(*Provider).doIndexSpace(0x774bf40, {0x33ac244, 0x6538000},
github.com/owncloud/ocis/v2/services/search/pkg/search/provider/searchprovider.go:308 +0x6c8
github.com/owncloud/ocis/v2/services/search/pkg/search/provider.New.func1(0x88c26f0, 0x84577d0)
github.com/owncloud/ocis/v2/services/search/pkg/search/provider/searchprovider.go:93 +0x44
github.com/owncloud/ocis/v2/services/search/pkg/search/provider.(*SpaceDebouncer).Debounce.func1()
github.com/owncloud/ocis/v2/services/search/pkg/search/provider/events.go:60 +0x1a4
created by time.goFunc
time/sleep.go:176 +0x2c
Please also see the documentation on the sync/atomic
package:
On ARM, 386, and 32-bit MIPS, it is the caller's responsibility to arrange for 64-bit alignment of 64-bit words accessed atomically via the primitive atomic functions (types Int64 and Uint64 are automatically aligned). The first word in an allocated struct, array, or slice; in a global variable; or in a local variable (because the subject of all atomic operations will escape to the heap) can be relied upon to be 64-bit aligned.
Thanks and have a nice day!
I would like to be able to store the index in an object store. This needs the segment implementation to be able to load segment data from remote storage. Current implementation is tightly coupled to local file system via mmap of an os.File.
My proposal is to replace mm field in Segment struct with the slice interface like:
type Slice interface {
func range(start, end int) []byte
func len() int
}
and allow a custom slice implementation that manages data.
We received a stack trace for a crash on this library:
runtime.errorString: runtime error: integer divide by zero
File "github.com/blevesearch/zapx/[email protected]/posting.go", line 747, in (*PostingsIterator).nextDocNumAtOrAfterClean
File "github.com/blevesearch/zapx/[email protected]/posting.go", line 632, in (*PostingsIterator).nextDocNumAtOrAfter
File "github.com/blevesearch/zapx/[email protected]/posting.go", line 537, in (*PostingsIterator).nextAtOrAfter
File "github.com/blevesearch/zapx/[email protected]/posting.go", line 526, in (*PostingsIterator).Next
File "github.com/blevesearch/bleve/[email protected]/index/scorch/snapshot_index_tfr.go", line 88, in (*IndexSnapshotTermFieldReader).Next
File "github.com/blevesearch/bleve/[email protected]/search/searcher/search_term.go", line 89, in (*TermSearcher).Next
File "github.com/blevesearch/bleve/[email protected]/search/searcher/search_conjunction.go", line 218, in (*ConjunctionSearcher).Next
File "github.com/blevesearch/bleve/[email protected]/search/searcher/search_conjunction.go", line 246, in (*ConjunctionSearcher).Advance
File "github.com/blevesearch/bleve/[email protected]/search/searcher/search_disjunction_slice.go", line 241, in (*DisjunctionSliceSearcher).Advance
File "github.com/blevesearch/bleve/[email protected]/search/searcher/search_conjunction.go", line 253, in (*ConjunctionSearcher).advanceChild
File "github.com/blevesearch/bleve/[email protected]/search/searcher/search_conjunction.go", line 241, in (*ConjunctionSearcher).Advance
File "github.com/blevesearch/bleve/[email protected]/search/searcher/search_boolean.go", line 356, in (*BooleanSearcher).Advance
File "github.com/blevesearch/bleve/[email protected]/search/searcher/search_conjunction.go", line 253, in (*ConjunctionSearcher).advanceChild
File "github.com/blevesearch/bleve/[email protected]/search/searcher/search_conjunction.go", line 200, in (*ConjunctionSearcher).Next
File "github.com/blevesearch/bleve/[email protected]/search/searcher/search_boolean.go", line 165, in (*BooleanSearcher).advanceNextMust
File "github.com/blevesearch/bleve/[email protected]/search/searcher/search_boolean.go", line 316, in (*BooleanSearcher).Next
File "github.com/blevesearch/bleve/[email protected]/search/collector/topn.go", line 226, in (*TopNCollector).Collect
File "github.com/blevesearch/bleve/[email protected]/index_impl.go", line 551, in (*indexImpl).SearchInContext
File "github.com/blevesearch/bleve/[email protected]/index_impl.go", line 369, in (*indexImpl).Search
It looks like i.postings.chunkSize
may need some checking as it can be zero.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.