Skip to content

Commit 102c372

Browse files
authored
Merge pull request #1219 from tigrisdata/main
Beta release
2 parents e4b7e74 + 8dccdf3 commit 102c372

File tree

5 files changed

+23
-0
lines changed

5 files changed

+23
-0
lines changed

api/server/v1/header.go

+2
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ const (
4343
HeaderTxOrigin = "Tigris-Tx-Origin"
4444
grpcGatewayPrefix = "Grpc-Gateway-"
4545
HeaderSchemaSignOff = "Tigris-Schema-Sign-Off"
46+
HeaderDisableSearch = "Tigris-Disable-Search"
47+
HeaderSchemaVersion = "Tigris-Schema-Version"
4648
HeaderBypassAuthCache = "Tigris-Bypass-Auth-Cache" // #nosec G101
4749
HeaderReadSearchDataFromStorage = "Tigris-Search-Read-From-Storage"
4850
HeaderServerTiming = "Server-Timing"

server/request/request.go

+4
Original file line numberDiff line numberDiff line change
@@ -444,6 +444,10 @@ func NeedSchemaValidation(ctx context.Context) bool {
444444
return api.GetHeader(ctx, api.HeaderSchemaSignOff) != "true"
445445
}
446446

447+
func DisableSearch(ctx context.Context) bool {
448+
return api.GetHeader(ctx, api.HeaderDisableSearch) == "true"
449+
}
450+
447451
func ReadSearchDataFromStorage(ctx context.Context) bool {
448452
return api.GetHeader(ctx, api.HeaderReadSearchDataFromStorage) == "true"
449453
}

server/services/v1/billing.go

+3
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,9 @@ func (b *billingService) getMetronomeId(ctx context.Context, namespaceId string)
106106
log.Warn().Msgf("Could not find namespace, this must not happen with right authn/authz configured")
107107
return uuid.Nil, errors.NotFound("Namespace %s not found", namespaceId)
108108
}
109+
if nsMeta.Accounts == nil {
110+
nsMeta.Accounts = &metadata.AccountIntegrations{}
111+
}
109112

110113
mIdStr, enabled := nsMeta.Accounts.GetMetronomeId()
111114
if !enabled || len(mIdStr) == 0 {

server/services/v1/billing/reporter.go

+4
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,10 @@ func (r *UsageReporter) pushStorage() error {
188188
events := make([]*StorageEvent, 0, len(tenants))
189189
for _, t := range tenants {
190190
nsMeta := t.GetNamespace().Metadata()
191+
if nsMeta.Accounts == nil {
192+
nsMeta.Accounts = &metadata.AccountIntegrations{}
193+
}
194+
191195
if id, enabled := nsMeta.Accounts.GetMetronomeId(); len(id) == 0 || !enabled {
192196
// user doesn't have metronome integration; skip
193197
continue

server/services/v1/database/search_indexer.go

+10
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import (
3232
"github.com/tigrisdata/tigris/schema"
3333
"github.com/tigrisdata/tigris/server/config"
3434
"github.com/tigrisdata/tigris/server/metadata"
35+
"github.com/tigrisdata/tigris/server/request"
3536
"github.com/tigrisdata/tigris/server/transaction"
3637
"github.com/tigrisdata/tigris/store/kv"
3738
"github.com/tigrisdata/tigris/store/search"
@@ -54,6 +55,10 @@ func NewSearchIndexer(searchStore search.Store, tenantMgr *metadata.TenantManage
5455
}
5556

5657
func (i *SearchIndexer) OnPostCommit(ctx context.Context, _ *metadata.Tenant, eventListener kv.EventListener) error {
58+
if request.DisableSearch(ctx) {
59+
return nil
60+
}
61+
5762
for _, event := range eventListener.GetEvents() {
5863
var err error
5964

@@ -77,11 +82,13 @@ func (i *SearchIndexer) OnPostCommit(ctx context.Context, _ *metadata.Tenant, ev
7782
if searchIndex == nil {
7883
return fmt.Errorf("implicit search index not found")
7984
}
85+
8086
if event.Op == kv.DeleteEvent {
8187
if err = i.searchStore.DeleteDocument(ctx, searchIndex.StoreIndexName(), searchKey); err != nil {
8288
if !search.IsErrNotFound(err) {
8389
return err
8490
}
91+
8592
return nil
8693
}
8794
} else {
@@ -101,13 +108,16 @@ func (i *SearchIndexer) OnPostCommit(ctx context.Context, _ *metadata.Tenant, ev
101108
}
102109

103110
reader := bytes.NewReader(searchData)
111+
104112
var resp []search.IndexResp
113+
105114
if resp, err = i.searchStore.IndexDocuments(ctx, searchIndex.StoreIndexName(), reader, search.IndexDocumentsOptions{
106115
Action: action,
107116
BatchSize: 1,
108117
}); err != nil {
109118
return err
110119
}
120+
111121
if len(resp) == 1 && !resp[0].Success {
112122
return search.NewSearchError(resp[0].Code, search.ErrCodeUnhandled, resp[0].Error)
113123
}

0 commit comments

Comments
 (0)