diff --git a/dbshard.go b/dbshard.go index ae69c8867..81efa7537 100644 --- a/dbshard.go +++ b/dbshard.go @@ -698,6 +698,21 @@ func (per *DBPerShard) TypedDBPerShardGetShardsForIndex(ty txtype, idx *Index, r per.Mu.Lock() defer per.Mu.Unlock() + if ty == roaringTxn && roaringViewPath != "" { + rx := &RoaringTx{ + Index: idx, + } + sos, err := rx.SliceOfShards("", "", "", roaringViewPath) + if err != nil { + return nil, err + } + shardMap = make(map[uint64]bool) + for _, shard := range sos { + shardMap[shard] = true + } + return shardMap, nil + } + i2ss, ok := per.index2shards[ty] if !ok { // index -> shardSet diff --git a/txfactory.go b/txfactory.go index 17ef34c75..e4a868806 100644 --- a/txfactory.go +++ b/txfactory.go @@ -1307,6 +1307,8 @@ func (f *TxFactory) green2blue(holder *Holder) (err error) { return nil } + holder.Logger.Printf("green2blue analysis begins.") + blueDest := f.types[0] greenSrc := f.types[1]