>The problem is this limit is specific to Service A. All other services that depend on DB do not need this limit.

Solution P: Abstract way the problem
    
            
    Resource r = service.fetchResource();    


Don't expect using code to deal with your little problems. Don't even ask it to know what it's talking to.

    Class ServiceA implements Service  {
        public Resource FetchResource(...) {
            if (numberOfRoundTrips > ServiceDefinedLimit) {
                throw new Exception("Resource is too large");
            }          
            return DB.resource("A");  
        }
    }

Don't expect other services to know anything about your weird problems either.

    Class ServiceB implements Service {
        public Resource FetchResource(...) {
            //what round trips?
            return DB.resource("B");
        }
    }