Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 4 of 4 for newNSLock (0.27 sec)

  1. cmd/namespace-lock.go

    	return l.ctx
    }
    
    // Cancel function calls cancel() function
    func (l LockContext) Cancel() {
    	if l.cancel != nil {
    		l.cancel()
    	}
    }
    
    // newNSLock - return a new name space lock map.
    func newNSLock(isDistErasure bool) *nsLockMap {
    	nsMutex := nsLockMap{
    		isDistErasure: isDistErasure,
    	}
    	if isDistErasure {
    		return &nsMutex
    	}
    	nsMutex.lockMap = make(map[string]*nsLock)
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Sun Sep 29 22:40:36 UTC 2024
    - 9.2K bytes
    - Viewed (0)
  2. cmd/callhome.go

    				duration = time.Second
    			}
    			time.Sleep(duration)
    		}
    	}()
    }
    
    func runCallhome(ctx context.Context, objAPI ObjectLayer) bool {
    	// Make sure only 1 callhome is running on the cluster.
    	locker := objAPI.NewNSLock(minioMetaBucket, "callhome/runCallhome.lock")
    	lkctx, err := locker.GetLock(ctx, callhomeLeaderLockTimeout)
    	if err != nil {
    		// lock timedout means some other node is the leader,
    		// cycle back return 'true'
    		return true
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Fri May 17 16:53:34 UTC 2024
    - 5.3K bytes
    - Viewed (0)
  3. cmd/shared-lock.go

    })
    
    type sharedLock struct {
    	lockContext chan LockContext
    }
    
    func (ld sharedLock) backgroundRoutine(ctx context.Context, objAPI ObjectLayer, lockName string) {
    	for {
    		locker := objAPI.NewNSLock(minioMetaBucket, lockName)
    		lkctx, err := locker.GetLock(ctx, sharedLockTimeout)
    		if err != nil {
    			continue
    		}
    
    	keepLock:
    		for {
    			select {
    			case <-ctx.Done():
    				return
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Mon Feb 13 09:26:38 UTC 2023
    - 2.3K bytes
    - Viewed (0)
  4. cmd/namespace-lock_test.go

    	}
    }
    
    // Test lock race
    func TestNSLockRace(t *testing.T) {
    	t.Skip("long test skip it")
    
    	ctx := context.Background()
    
    	for i := 0; i < 10000; i++ {
    		nsLk := newNSLock(false)
    
    		// lk1; ref=1
    		if !nsLk.lock(ctx, "volume", "path", "source", "opsID", false, time.Second) {
    			t.Fatal("failed to acquire lock")
    		}
    
    		// lk2
    		lk2ch := make(chan struct{})
    		go func() {
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Fri Apr 23 18:58:53 UTC 2021
    - 3.1K bytes
    - Viewed (0)
Back to top