chore: renaming packages after move to github org
This commit is contained in:
parent
6138f4e1d5
commit
fbea5da627
36
README.md
36
README.md
@ -1,14 +1,14 @@
|
||||
# Kevo
|
||||
|
||||
A lightweight, minimalist Log-Structured Merge (LSM) tree storage engine written
|
||||
in Go.
|
||||
[](https://goreportcard.com/report/github.com/KevoDB/kevo)
|
||||
[](https://godoc.org/github.com/KevoDB/kevo)
|
||||
[](https://opensource.org/licenses/Apache-2.0)
|
||||
|
||||
A lightweight, minimalist Log-Structured Merge (LSM) tree storage engine written in Go.
|
||||
|
||||
## Overview
|
||||
|
||||
Kevo is a clean, composable storage engine that follows LSM tree
|
||||
principles, focusing on simplicity while providing the building blocks needed
|
||||
for higher-level database implementations. It's designed to be both educational
|
||||
and practically useful for embedded storage needs.
|
||||
Kevo is a clean, composable storage engine that follows LSM tree principles, focusing on simplicity while providing the building blocks needed for higher-level database implementations. It's designed to be both educational and practically useful for embedded storage needs.
|
||||
|
||||
## Features
|
||||
|
||||
@ -31,7 +31,7 @@ and practically useful for embedded storage needs.
|
||||
### Installation
|
||||
|
||||
```bash
|
||||
go get github.com/jeremytregunna/kevo
|
||||
go get github.com/KevoDB/kevo
|
||||
```
|
||||
|
||||
### Basic Usage
|
||||
@ -43,7 +43,7 @@ import (
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/engine"
|
||||
"github.com/KevoDB/kevo/pkg/engine"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@ -103,8 +103,7 @@ Included is an interactive CLI tool (`kevo`) for exploring and manipulating data
|
||||
go run ./cmd/kevo/main.go [database_path]
|
||||
```
|
||||
|
||||
Will create a directory at the path you create (e.g., /tmp/foo.db will be a
|
||||
directory called foo.db in /tmp where the database will live).
|
||||
Will create a directory at the path you create (e.g., `/tmp/foo.db` will be a directory called `foo.db` in `/tmp` where the database will live).
|
||||
|
||||
Example session:
|
||||
|
||||
@ -159,6 +158,8 @@ Kevo is built on the LSM tree architecture, consisting of:
|
||||
- **Compaction**: Background process to merge and optimize SSTables
|
||||
- **Transactions**: ACID-compliant operations with reader-writer concurrency
|
||||
|
||||
For more details, see the documentation in the [docs](./docs) directory.
|
||||
|
||||
## Benchmarking
|
||||
|
||||
The storage-bench tool provides comprehensive performance testing:
|
||||
@ -186,12 +187,27 @@ go test ./...
|
||||
|
||||
# Run benchmarks
|
||||
go test ./pkg/path/to/package -bench .
|
||||
|
||||
# Run with race detector
|
||||
go test -race ./...
|
||||
```
|
||||
|
||||
## Project Status
|
||||
|
||||
This project is under active development. While the core functionality is stable, the API may change as we continue to improve the engine.
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are welcome! Please feel free to submit a Pull Request.
|
||||
|
||||
1. Fork the repository
|
||||
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
|
||||
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
|
||||
4. Push to the branch (`git push origin feature/amazing-feature`)
|
||||
5. Open a Pull Request
|
||||
|
||||
See our [contribution guidelines](CONTRIBUTING.md) for more information.
|
||||
|
||||
## License
|
||||
|
||||
Copyright 2025 Jeremy Tregunna
|
||||
|
@ -15,11 +15,11 @@ import (
|
||||
|
||||
"github.com/chzyer/readline"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/common/iterator"
|
||||
"github.com/jeremytregunna/kevo/pkg/engine"
|
||||
"github.com/KevoDB/kevo/pkg/common/iterator"
|
||||
"github.com/KevoDB/kevo/pkg/engine"
|
||||
|
||||
// Import transaction package to register the transaction creator
|
||||
_ "github.com/jeremytregunna/kevo/pkg/transaction"
|
||||
_ "github.com/KevoDB/kevo/pkg/transaction"
|
||||
)
|
||||
|
||||
// Command completer for readline
|
||||
|
@ -8,9 +8,9 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/engine"
|
||||
grpcservice "github.com/jeremytregunna/kevo/pkg/grpc/service"
|
||||
pb "github.com/jeremytregunna/kevo/proto/kevo"
|
||||
"github.com/KevoDB/kevo/pkg/engine"
|
||||
grpcservice "github.com/KevoDB/kevo/pkg/grpc/service"
|
||||
pb "github.com/KevoDB/kevo/proto/kevo"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/credentials"
|
||||
"google.golang.org/grpc/keepalive"
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/engine"
|
||||
"github.com/KevoDB/kevo/pkg/engine"
|
||||
)
|
||||
|
||||
func TestTransactionRegistry(t *testing.T) {
|
||||
|
@ -8,7 +8,7 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/engine"
|
||||
"github.com/KevoDB/kevo/pkg/engine"
|
||||
)
|
||||
|
||||
// CompactionBenchmarkOptions configures the compaction benchmark
|
||||
|
@ -11,7 +11,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/engine"
|
||||
"github.com/KevoDB/kevo/pkg/engine"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -8,8 +8,8 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/config"
|
||||
"github.com/jeremytregunna/kevo/pkg/engine"
|
||||
"github.com/KevoDB/kevo/pkg/config"
|
||||
"github.com/KevoDB/kevo/pkg/engine"
|
||||
)
|
||||
|
||||
// TuningResults stores the results of various configuration tuning runs
|
||||
|
7
go.mod
7
go.mod
@ -1,10 +1,12 @@
|
||||
module github.com/jeremytregunna/kevo
|
||||
module github.com/KevoDB/kevo
|
||||
|
||||
go 1.24.2
|
||||
|
||||
require (
|
||||
github.com/cespare/xxhash/v2 v2.3.0
|
||||
github.com/chzyer/readline v1.5.1
|
||||
google.golang.org/grpc v1.72.0
|
||||
google.golang.org/protobuf v1.36.6
|
||||
)
|
||||
|
||||
require (
|
||||
@ -12,7 +14,4 @@ require (
|
||||
golang.org/x/sys v0.30.0 // indirect
|
||||
golang.org/x/text v0.22.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a // indirect
|
||||
google.golang.org/grpc v1.72.0 // indirect
|
||||
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1 // indirect
|
||||
google.golang.org/protobuf v1.36.6 // indirect
|
||||
)
|
||||
|
28
go.sum
28
go.sum
@ -6,11 +6,31 @@ github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI
|
||||
github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk=
|
||||
github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04=
|
||||
github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8=
|
||||
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
|
||||
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
|
||||
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
|
||||
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
|
||||
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
|
||||
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
|
||||
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
||||
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
|
||||
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
|
||||
go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY=
|
||||
go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI=
|
||||
go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ=
|
||||
go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE=
|
||||
go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A=
|
||||
go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w=
|
||||
go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k=
|
||||
go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE=
|
||||
golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8=
|
||||
golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk=
|
||||
golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
|
||||
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
|
||||
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
|
||||
@ -19,9 +39,5 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a h1:
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a/go.mod h1:uRxBH1mhmO8PGhU89cMcHaXKZqO+OfakD8QQO0oYwlQ=
|
||||
google.golang.org/grpc v1.72.0 h1:S7UkcVa60b5AAQTaO6ZKamFp1zMZSU0fGDK2WZLbBnM=
|
||||
google.golang.org/grpc v1.72.0/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM=
|
||||
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1 h1:F29+wU6Ee6qgu9TddPgooOdaqsxTMunOoj8KA5yuS5A=
|
||||
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1/go.mod h1:5KF+wpkbTSbGcR9zteSqZV6fqFOWBl4Yde8En8MryZA=
|
||||
google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM=
|
||||
google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
|
||||
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
|
||||
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/transport"
|
||||
"github.com/KevoDB/kevo/pkg/transport"
|
||||
)
|
||||
|
||||
// CompressionType represents a compression algorithm
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/transport"
|
||||
"github.com/KevoDB/kevo/pkg/transport"
|
||||
)
|
||||
|
||||
// mockClient implements the transport.Client interface for testing
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"fmt"
|
||||
"io"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/transport"
|
||||
"github.com/KevoDB/kevo/pkg/transport"
|
||||
)
|
||||
|
||||
// ScanOptions configures a scan operation
|
||||
|
@ -3,7 +3,7 @@ package client
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/transport"
|
||||
"github.com/KevoDB/kevo/pkg/transport"
|
||||
)
|
||||
|
||||
// mockTransport is a simple mock for testing
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"fmt"
|
||||
"sync"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/transport"
|
||||
"github.com/KevoDB/kevo/pkg/transport"
|
||||
)
|
||||
|
||||
// Transaction represents a database transaction
|
||||
|
@ -3,7 +3,7 @@ package bounded
|
||||
import (
|
||||
"bytes"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/common/iterator"
|
||||
"github.com/KevoDB/kevo/pkg/common/iterator"
|
||||
)
|
||||
|
||||
// BoundedIterator wraps an iterator and limits it to a specific key range
|
||||
|
@ -1,7 +1,7 @@
|
||||
package composite
|
||||
|
||||
import (
|
||||
"github.com/jeremytregunna/kevo/pkg/common/iterator"
|
||||
"github.com/KevoDB/kevo/pkg/common/iterator"
|
||||
)
|
||||
|
||||
// CompositeIterator is an interface for iterators that combine multiple source iterators
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"bytes"
|
||||
"sync"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/common/iterator"
|
||||
"github.com/KevoDB/kevo/pkg/common/iterator"
|
||||
)
|
||||
|
||||
// HierarchicalIterator implements an iterator that follows the LSM-tree hierarchy
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"bytes"
|
||||
"testing"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/common/iterator"
|
||||
"github.com/KevoDB/kevo/pkg/common/iterator"
|
||||
)
|
||||
|
||||
// mockIterator is a simple in-memory iterator for testing
|
||||
|
@ -7,8 +7,8 @@ import (
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/config"
|
||||
"github.com/jeremytregunna/kevo/pkg/sstable"
|
||||
"github.com/KevoDB/kevo/pkg/config"
|
||||
"github.com/KevoDB/kevo/pkg/sstable"
|
||||
)
|
||||
|
||||
// BaseCompactionStrategy provides common functionality for compaction strategies
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/sstable"
|
||||
"github.com/KevoDB/kevo/pkg/sstable"
|
||||
)
|
||||
|
||||
// SSTableInfo represents metadata about an SSTable file
|
||||
|
@ -9,8 +9,8 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/config"
|
||||
"github.com/jeremytregunna/kevo/pkg/sstable"
|
||||
"github.com/KevoDB/kevo/pkg/config"
|
||||
"github.com/KevoDB/kevo/pkg/sstable"
|
||||
)
|
||||
|
||||
func createTestSSTable(t *testing.T, dir string, level, seq int, timestamp int64, keyValues map[string]string) string {
|
||||
|
@ -3,7 +3,7 @@ package compaction
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/config"
|
||||
"github.com/KevoDB/kevo/pkg/config"
|
||||
)
|
||||
|
||||
// NewCompactionManager creates a new compaction manager with the old API
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/config"
|
||||
"github.com/KevoDB/kevo/pkg/config"
|
||||
)
|
||||
|
||||
// CompactionCoordinatorOptions holds configuration options for the coordinator
|
||||
|
@ -6,10 +6,10 @@ import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/common/iterator"
|
||||
"github.com/jeremytregunna/kevo/pkg/common/iterator/composite"
|
||||
"github.com/jeremytregunna/kevo/pkg/config"
|
||||
"github.com/jeremytregunna/kevo/pkg/sstable"
|
||||
"github.com/KevoDB/kevo/pkg/common/iterator"
|
||||
"github.com/KevoDB/kevo/pkg/common/iterator/composite"
|
||||
"github.com/KevoDB/kevo/pkg/config"
|
||||
"github.com/KevoDB/kevo/pkg/sstable"
|
||||
)
|
||||
|
||||
// DefaultCompactionExecutor handles the actual compaction process
|
||||
|
@ -6,7 +6,7 @@ import (
|
||||
"path/filepath"
|
||||
"sort"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/config"
|
||||
"github.com/KevoDB/kevo/pkg/config"
|
||||
)
|
||||
|
||||
// TieredCompactionStrategy implements a tiered compaction strategy
|
||||
|
@ -5,8 +5,8 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/compaction"
|
||||
"github.com/jeremytregunna/kevo/pkg/sstable"
|
||||
"github.com/KevoDB/kevo/pkg/compaction"
|
||||
"github.com/KevoDB/kevo/pkg/sstable"
|
||||
)
|
||||
|
||||
// setupCompaction initializes the compaction manager for the engine
|
||||
|
@ -10,12 +10,12 @@ import (
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/common/iterator"
|
||||
"github.com/jeremytregunna/kevo/pkg/compaction"
|
||||
"github.com/jeremytregunna/kevo/pkg/config"
|
||||
"github.com/jeremytregunna/kevo/pkg/memtable"
|
||||
"github.com/jeremytregunna/kevo/pkg/sstable"
|
||||
"github.com/jeremytregunna/kevo/pkg/wal"
|
||||
"github.com/KevoDB/kevo/pkg/common/iterator"
|
||||
"github.com/KevoDB/kevo/pkg/compaction"
|
||||
"github.com/KevoDB/kevo/pkg/config"
|
||||
"github.com/KevoDB/kevo/pkg/memtable"
|
||||
"github.com/KevoDB/kevo/pkg/sstable"
|
||||
"github.com/KevoDB/kevo/pkg/wal"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -8,7 +8,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/sstable"
|
||||
"github.com/KevoDB/kevo/pkg/sstable"
|
||||
)
|
||||
|
||||
func setupTest(t *testing.T) (string, *Engine, func()) {
|
||||
|
@ -5,9 +5,9 @@ import (
|
||||
"container/heap"
|
||||
"sync"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/common/iterator"
|
||||
"github.com/jeremytregunna/kevo/pkg/memtable"
|
||||
"github.com/jeremytregunna/kevo/pkg/sstable"
|
||||
"github.com/KevoDB/kevo/pkg/common/iterator"
|
||||
"github.com/KevoDB/kevo/pkg/memtable"
|
||||
"github.com/KevoDB/kevo/pkg/sstable"
|
||||
)
|
||||
|
||||
// iterHeapItem represents an item in the priority queue of iterators
|
||||
|
@ -5,9 +5,9 @@ import (
|
||||
"fmt"
|
||||
"sync"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/common/iterator"
|
||||
"github.com/jeremytregunna/kevo/pkg/engine"
|
||||
pb "github.com/jeremytregunna/kevo/proto/kevo"
|
||||
"github.com/KevoDB/kevo/pkg/common/iterator"
|
||||
"github.com/KevoDB/kevo/pkg/engine"
|
||||
pb "github.com/KevoDB/kevo/proto/kevo"
|
||||
)
|
||||
|
||||
// TxRegistry is the interface we need for the transaction registry
|
||||
|
@ -9,8 +9,8 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
pb "github.com/jeremytregunna/kevo/proto/kevo"
|
||||
"github.com/jeremytregunna/kevo/pkg/transport"
|
||||
pb "github.com/KevoDB/kevo/proto/kevo"
|
||||
"github.com/KevoDB/kevo/pkg/transport"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/credentials"
|
||||
"google.golang.org/grpc/credentials/insecure"
|
||||
|
@ -7,8 +7,8 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
pb "github.com/jeremytregunna/kevo/proto/kevo"
|
||||
"github.com/jeremytregunna/kevo/pkg/transport"
|
||||
pb "github.com/KevoDB/kevo/proto/kevo"
|
||||
"github.com/KevoDB/kevo/pkg/transport"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/credentials"
|
||||
"google.golang.org/grpc/credentials/insecure"
|
||||
|
@ -7,8 +7,8 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
pb "github.com/jeremytregunna/kevo/proto/kevo"
|
||||
"github.com/jeremytregunna/kevo/pkg/transport"
|
||||
pb "github.com/KevoDB/kevo/proto/kevo"
|
||||
"github.com/KevoDB/kevo/pkg/transport"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/credentials"
|
||||
"google.golang.org/grpc/keepalive"
|
||||
|
@ -5,8 +5,8 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
pb "github.com/jeremytregunna/kevo/proto/kevo"
|
||||
"github.com/jeremytregunna/kevo/pkg/transport"
|
||||
pb "github.com/KevoDB/kevo/proto/kevo"
|
||||
"github.com/KevoDB/kevo/pkg/transport"
|
||||
"google.golang.org/grpc"
|
||||
)
|
||||
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"bytes"
|
||||
"sync"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/common/iterator"
|
||||
"github.com/KevoDB/kevo/pkg/common/iterator"
|
||||
)
|
||||
|
||||
// HierarchicalIterator implements an iterator that follows the LSM-tree hierarchy
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/config"
|
||||
"github.com/KevoDB/kevo/pkg/config"
|
||||
)
|
||||
|
||||
// MemTablePool manages a pool of MemTables
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/config"
|
||||
"github.com/KevoDB/kevo/pkg/config"
|
||||
)
|
||||
|
||||
func createTestConfig() *config.Config {
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/wal"
|
||||
"github.com/KevoDB/kevo/pkg/wal"
|
||||
)
|
||||
|
||||
// MemTable is an in-memory table that stores key-value pairs
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/wal"
|
||||
"github.com/KevoDB/kevo/pkg/wal"
|
||||
)
|
||||
|
||||
func TestMemTableBasicOperations(t *testing.T) {
|
||||
|
@ -3,8 +3,8 @@ package memtable
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/config"
|
||||
"github.com/jeremytregunna/kevo/pkg/wal"
|
||||
"github.com/KevoDB/kevo/pkg/config"
|
||||
"github.com/KevoDB/kevo/pkg/wal"
|
||||
)
|
||||
|
||||
// RecoveryOptions contains options for MemTable recovery
|
||||
|
@ -4,8 +4,8 @@ import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/config"
|
||||
"github.com/jeremytregunna/kevo/pkg/wal"
|
||||
"github.com/KevoDB/kevo/pkg/config"
|
||||
"github.com/KevoDB/kevo/pkg/wal"
|
||||
)
|
||||
|
||||
func setupTestWAL(t *testing.T) (string, *wal.WAL, func()) {
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"fmt"
|
||||
"sync"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/sstable/block"
|
||||
"github.com/KevoDB/kevo/pkg/sstable/block"
|
||||
)
|
||||
|
||||
// Iterator iterates over key-value pairs in an SSTable
|
||||
|
@ -7,8 +7,8 @@ import (
|
||||
"os"
|
||||
"sync"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/sstable/block"
|
||||
"github.com/jeremytregunna/kevo/pkg/sstable/footer"
|
||||
"github.com/KevoDB/kevo/pkg/sstable/block"
|
||||
"github.com/KevoDB/kevo/pkg/sstable/footer"
|
||||
)
|
||||
|
||||
// IOManager handles file I/O operations for SSTable
|
||||
|
@ -3,7 +3,7 @@ package sstable
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/sstable/block"
|
||||
"github.com/KevoDB/kevo/pkg/sstable/block"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -7,8 +7,8 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/sstable/block"
|
||||
"github.com/jeremytregunna/kevo/pkg/sstable/footer"
|
||||
"github.com/KevoDB/kevo/pkg/sstable/block"
|
||||
"github.com/KevoDB/kevo/pkg/sstable/footer"
|
||||
)
|
||||
|
||||
// FileManager handles file operations for SSTable writing
|
||||
|
@ -1,7 +1,7 @@
|
||||
package transaction
|
||||
|
||||
import (
|
||||
"github.com/jeremytregunna/kevo/pkg/engine"
|
||||
"github.com/KevoDB/kevo/pkg/engine"
|
||||
)
|
||||
|
||||
// TransactionCreatorImpl implements the engine.TransactionCreator interface
|
||||
|
@ -4,9 +4,9 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/engine"
|
||||
"github.com/jeremytregunna/kevo/pkg/transaction"
|
||||
"github.com/jeremytregunna/kevo/pkg/wal"
|
||||
"github.com/KevoDB/kevo/pkg/engine"
|
||||
"github.com/KevoDB/kevo/pkg/transaction"
|
||||
"github.com/KevoDB/kevo/pkg/wal"
|
||||
)
|
||||
|
||||
// Disable all logs in tests
|
||||
|
@ -1,7 +1,7 @@
|
||||
package transaction
|
||||
|
||||
import (
|
||||
"github.com/jeremytregunna/kevo/pkg/common/iterator"
|
||||
"github.com/KevoDB/kevo/pkg/common/iterator"
|
||||
)
|
||||
|
||||
// TransactionMode defines the transaction access mode (ReadOnly or ReadWrite)
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/engine"
|
||||
"github.com/KevoDB/kevo/pkg/engine"
|
||||
)
|
||||
|
||||
func setupTestEngine(t *testing.T) (*engine.Engine, string) {
|
||||
|
@ -6,10 +6,10 @@ import (
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/common/iterator"
|
||||
"github.com/jeremytregunna/kevo/pkg/engine"
|
||||
"github.com/jeremytregunna/kevo/pkg/transaction/txbuffer"
|
||||
"github.com/jeremytregunna/kevo/pkg/wal"
|
||||
"github.com/KevoDB/kevo/pkg/common/iterator"
|
||||
"github.com/KevoDB/kevo/pkg/engine"
|
||||
"github.com/KevoDB/kevo/pkg/transaction/txbuffer"
|
||||
"github.com/KevoDB/kevo/pkg/wal"
|
||||
)
|
||||
|
||||
// Common errors for transaction operations
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/engine"
|
||||
"github.com/KevoDB/kevo/pkg/engine"
|
||||
)
|
||||
|
||||
func setupTest(t *testing.T) (*engine.Engine, func()) {
|
||||
|
@ -11,7 +11,7 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/config"
|
||||
"github.com/KevoDB/kevo/pkg/config"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -8,7 +8,7 @@ import (
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/jeremytregunna/kevo/pkg/config"
|
||||
"github.com/KevoDB/kevo/pkg/config"
|
||||
)
|
||||
|
||||
func createTestConfig() *config.Config {
|
||||
|
@ -1659,7 +1659,7 @@ const file_proto_kevo_service_proto_rawDesc = "" +
|
||||
"\bTxDelete\x12\x15.kevo.TxDeleteRequest\x1a\x16.kevo.TxDeleteResponse\x125\n" +
|
||||
"\x06TxScan\x12\x13.kevo.TxScanRequest\x1a\x14.kevo.TxScanResponse0\x01\x129\n" +
|
||||
"\bGetStats\x12\x15.kevo.GetStatsRequest\x1a\x16.kevo.GetStatsResponse\x126\n" +
|
||||
"\aCompact\x12\x14.kevo.CompactRequest\x1a\x15.kevo.CompactResponseB5Z3github.com/jeremytregunna/kevo/pkg/grpc/proto;protob\x06proto3"
|
||||
"\aCompact\x12\x14.kevo.CompactRequest\x1a\x15.kevo.CompactResponseB5Z3github.com/KevoDB/kevo/pkg/grpc/proto;protob\x06proto3"
|
||||
|
||||
var (
|
||||
file_proto_kevo_service_proto_rawDescOnce sync.Once
|
||||
|
Loading…
Reference in New Issue
Block a user