| Index: filter/dscache/context.go
 | 
| diff --git a/filter/dscache/context.go b/filter/dscache/context.go
 | 
| index 8d2ae3b9a7f7dbdf1e85fff04c2328bf40b5996b..245c81e789783a57a044fcdb4e6ca32d03e20daf 100644
 | 
| --- a/filter/dscache/context.go
 | 
| +++ b/filter/dscache/context.go
 | 
| @@ -6,9 +6,9 @@ package dscache
 | 
|  
 | 
|  import (
 | 
|  	ds "github.com/luci/gae/service/datastore"
 | 
| -	"github.com/luci/gae/service/info"
 | 
| -	mc "github.com/luci/gae/service/memcache"
 | 
| +
 | 
|  	"github.com/luci/luci-go/common/data/rand/mathrand"
 | 
| +
 | 
|  	"golang.org/x/net/context"
 | 
|  )
 | 
|  
 | 
| @@ -44,23 +44,21 @@ func FilterRDS(c context.Context, shardsForKey func(*ds.Key) int) context.Contex
 | 
|  // Unlike FilterRDS it doesn't check GlobalConfig via IsGloballyEnabled call,
 | 
|  // assuming caller already knows whether filter should be applied or not.
 | 
|  func AlwaysFilterRDS(c context.Context, shardsForKey func(*ds.Key) int) context.Context {
 | 
| -	return ds.AddRawFilters(c, func(c context.Context, ds ds.RawInterface) ds.RawInterface {
 | 
| -		i := info.Get(c)
 | 
| -		ns, _ := i.GetNamespace()
 | 
| +	return ds.AddRawFilters(c, func(c context.Context, rds ds.RawInterface) ds.RawInterface {
 | 
| +		kc := ds.GetKeyContext(c)
 | 
|  
 | 
|  		sc := &supportContext{
 | 
| -			i.AppID(),
 | 
| -			ns,
 | 
| +			kc.AppID,
 | 
| +			kc.Namespace,
 | 
|  			c,
 | 
| -			mc.Get(c),
 | 
|  			mathrand.Get(c),
 | 
|  			shardsForKey,
 | 
|  		}
 | 
|  
 | 
|  		v := c.Value(dsTxnCacheKey)
 | 
|  		if v == nil {
 | 
| -			return &dsCache{ds, sc}
 | 
| +			return &dsCache{rds, sc}
 | 
|  		}
 | 
| -		return &dsTxnCache{ds, v.(*dsTxnState), sc}
 | 
| +		return &dsTxnCache{rds, v.(*dsTxnState), sc}
 | 
|  	})
 | 
|  }
 | 
| 
 |