| Index: impl/memory/info.go
 | 
| diff --git a/impl/memory/info.go b/impl/memory/info.go
 | 
| index 432f70195ee82efab6f464cde55b466392c049af..c19044b45c4b7ed9b40370464580101c71d1a2c2 100644
 | 
| --- a/impl/memory/info.go
 | 
| +++ b/impl/memory/info.go
 | 
| @@ -29,11 +29,18 @@ var defaultGlobalInfoData = globalInfoData{
 | 
|  
 | 
|  type globalInfoData struct {
 | 
|  	appid     string
 | 
| -	namespace string
 | 
| +	namespace *string
 | 
|  	versionID string
 | 
|  	requestID string
 | 
|  }
 | 
|  
 | 
| +func (gid *globalInfoData) getNamespace() (string, bool) {
 | 
| +	if ns := gid.namespace; ns != nil {
 | 
| +		return *ns, true
 | 
| +	}
 | 
| +	return "", false
 | 
| +}
 | 
| +
 | 
|  func curGID(c context.Context) *globalInfoData {
 | 
|  	if gid, ok := c.Value(giContextKey).(*globalInfoData); ok {
 | 
|  		return gid
 | 
| @@ -68,8 +75,8 @@ type giImpl struct {
 | 
|  
 | 
|  var _ = info.Interface((*giImpl)(nil))
 | 
|  
 | 
| -func (gi *giImpl) GetNamespace() string {
 | 
| -	return gi.namespace
 | 
| +func (gi *giImpl) GetNamespace() (string, bool) {
 | 
| +	return gi.getNamespace()
 | 
|  }
 | 
|  
 | 
|  func (gi *giImpl) Namespace(ns string) (ret context.Context, err error) {
 | 
| @@ -78,7 +85,7 @@ func (gi *giImpl) Namespace(ns string) (ret context.Context, err error) {
 | 
|  	}
 | 
|  
 | 
|  	return useGID(gi.c, func(mod *globalInfoData) {
 | 
| -		mod.namespace = ns
 | 
| +		mod.namespace = &ns
 | 
|  	}), nil
 | 
|  }
 | 
|  
 | 
| 
 |