Skip to content

Commit b115487

Browse files
committed
fix: removed unused logger in IPRateLimiterService
Signed-off-by: Logan Nguyen <[email protected]>
1 parent 16fa735 commit b115487

File tree

8 files changed

+22
-33
lines changed

8 files changed

+22
-33
lines changed

packages/relay/src/lib/services/rateLimiterService/rateLimiterService.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// SPDX-License-Identifier: Apache-2.0
22

33
import { ConfigService } from '@hashgraph/json-rpc-config-service/dist/services';
4-
import { Logger } from 'pino';
54
import { Counter, Registry } from 'prom-client';
65

76
import { RateLimitKey, RateLimitStore } from '../../types';
@@ -12,7 +11,6 @@ import { RequestDetails } from '../../types/RequestDetails';
1211
*/
1312
export class IPRateLimiterService {
1413
private store: RateLimitStore;
15-
private logger: Logger;
1614
private ipRateLimitCounter: Counter;
1715

1816
/**
@@ -22,9 +20,8 @@ export class IPRateLimiterService {
2220
* @param logger - Logger instance for logging.
2321
* @param register - Prometheus registry for metrics.
2422
*/
25-
constructor(store: RateLimitStore, logger: Logger, register: Registry) {
23+
constructor(store: RateLimitStore, register: Registry) {
2624
this.store = store;
27-
this.logger = logger;
2825

2926
// Initialize IP rate limit counter
3027
const ipRateLimitMetricName = 'rpc_relay_ip_rate_limit';

packages/relay/tests/lib/services/rateLimiterService/rateLimiterService.spec.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,21 +51,21 @@ describe('IPRateLimiterService Test Suite', function () {
5151
describe('Constructor Tests', () => {
5252
it('should accept a store and initialize correctly', () => {
5353
const lruStore = new LruRateLimitStore(duration);
54-
rateLimiterService = new IPRateLimiterService(lruStore, logger, registry);
54+
rateLimiterService = new IPRateLimiterService(lruStore, registry);
5555

5656
expect(rateLimiterService.rateLimitStore).to.equal(lruStore);
5757
});
5858

5959
it('should work with LRU store', () => {
6060
const lruStore = new LruRateLimitStore(duration);
61-
rateLimiterService = new IPRateLimiterService(lruStore, logger, registry);
61+
rateLimiterService = new IPRateLimiterService(lruStore, registry);
6262

6363
expect(rateLimiterService.rateLimitStore).to.be.instanceof(LruRateLimitStore);
6464
});
6565

6666
it('should work with Redis store', () => {
6767
const redisStore = new RedisRateLimitStore(mockRedisClient as unknown as RedisClientType, logger, duration);
68-
rateLimiterService = new IPRateLimiterService(redisStore, logger, registry);
68+
rateLimiterService = new IPRateLimiterService(redisStore, registry);
6969

7070
expect(rateLimiterService.rateLimitStore).to.be.instanceof(RedisRateLimitStore);
7171
});
@@ -74,7 +74,7 @@ describe('IPRateLimiterService Test Suite', function () {
7474
describe('shouldRateLimit Method Tests', () => {
7575
withOverriddenEnvsInMochaTest({ RATE_LIMIT_DISABLED: true }, () => {
7676
it('should return false when RATE_LIMIT_DISABLED is true', async () => {
77-
rateLimiterService = new IPRateLimiterService(mockStore, logger, registry);
77+
rateLimiterService = new IPRateLimiterService(mockStore, registry);
7878

7979
const result = await rateLimiterService.shouldRateLimit(testIp, testMethod, testLimit, requestDetails);
8080
expect(result).to.be.false;
@@ -87,7 +87,7 @@ describe('IPRateLimiterService Test Suite', function () {
8787
});
8888

8989
beforeEach(() => {
90-
rateLimiterService = new IPRateLimiterService(mockStore, logger, registry);
90+
rateLimiterService = new IPRateLimiterService(mockStore, registry);
9191
});
9292

9393
it('should return false when within rate limits', async () => {
@@ -150,7 +150,7 @@ describe('IPRateLimiterService Test Suite', function () {
150150

151151
beforeEach(() => {
152152
lruStore = new LruRateLimitStore(duration);
153-
rateLimiterService = new IPRateLimiterService(lruStore, logger, registry);
153+
rateLimiterService = new IPRateLimiterService(lruStore, registry);
154154
});
155155

156156
it('should not rate limit when within limits using LRU store', async () => {
@@ -197,7 +197,7 @@ describe('IPRateLimiterService Test Suite', function () {
197197
describe('Redis Store Integration Tests', () => {
198198
it('should work with Redis store', () => {
199199
const redisStore = new RedisRateLimitStore(mockRedisClient as unknown as RedisClientType, logger, duration);
200-
rateLimiterService = new IPRateLimiterService(redisStore, logger, registry);
200+
rateLimiterService = new IPRateLimiterService(redisStore, registry);
201201

202202
expect(rateLimiterService.rateLimitStore).to.be.instanceof(RedisRateLimitStore);
203203
});
@@ -209,7 +209,7 @@ describe('IPRateLimiterService Test Suite', function () {
209209
} as unknown as RedisClientType;
210210

211211
const redisStore = new RedisRateLimitStore(failingMockClient, logger, duration);
212-
rateLimiterService = new IPRateLimiterService(redisStore, logger, registry);
212+
rateLimiterService = new IPRateLimiterService(redisStore, registry);
213213

214214
// Should not rate limit when Redis operations fail (fail-open behavior)
215215
const result = await rateLimiterService.shouldRateLimit(testIp, testMethod, testLimit, requestDetails);
@@ -220,7 +220,7 @@ describe('IPRateLimiterService Test Suite', function () {
220220
// Ensure store.incrementAndCheck is not called when rate limiting is disabled
221221
withOverriddenEnvsInMochaTest({ RATE_LIMIT_DISABLED: true }, () => {
222222
it('should not call store.incrementAndCheck when rate limit is disabled', async () => {
223-
rateLimiterService = new IPRateLimiterService(mockStore, logger, registry);
223+
rateLimiterService = new IPRateLimiterService(mockStore, registry);
224224
const result = await rateLimiterService.shouldRateLimit(testIp, testMethod, testLimit, requestDetails);
225225
expect(result).to.be.false;
226226
expect(mockStore.incrementAndCheck.notCalled).to.be.true;

packages/server/src/koaJsonRpc/index.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import {
1919
getBatchRequestsEnabled,
2020
getBatchRequestsMaxSize,
2121
getDefaultRateLimit,
22-
getLimitDuration,
2322
getRequestIdIsOptional,
2423
} from './lib/utils';
2524

@@ -31,7 +30,6 @@ const BATCH_REQUEST_METHOD_NAME = 'batch_request';
3130

3231
export default class KoaJsonRpc {
3332
private readonly methodConfig: MethodRateLimitConfiguration;
34-
private readonly duration: number = getLimitDuration();
3533
private readonly defaultRateLimit: number = getDefaultRateLimit();
3634
private readonly limit: string;
3735
private readonly rateLimiter: IPRateLimiterService;
@@ -46,13 +44,13 @@ export default class KoaJsonRpc {
4644
logger: Logger,
4745
register: Registry,
4846
relay: Relay,
47+
rateLimitStore: RateLimitStore,
4948
opts?: { limit: string | null },
50-
rateLimitStore?: RateLimitStore,
5149
) {
5250
this.koaApp = new Koa();
5351
this.methodConfig = methodConfiguration;
5452
this.limit = opts?.limit ?? '1mb';
55-
this.rateLimiter = new IPRateLimiterService(rateLimitStore!, logger.child({ name: 'ip-rate-limit' }), register);
53+
this.rateLimiter = new IPRateLimiterService(rateLimitStore, register);
5654
this.metricsRegistry = register;
5755
this.relay = relay;
5856

packages/server/src/server.ts

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -160,15 +160,9 @@ export async function initializeServer() {
160160
redisClient,
161161
);
162162

163-
const koaJsonRpc = new KoaJsonRpc(
164-
logger.child({ name: 'koa-rpc' }),
165-
register,
166-
relay,
167-
{
168-
limit: ConfigService.get('INPUT_SIZE_LIMIT') + 'mb',
169-
},
170-
rateLimitStore,
171-
);
163+
const koaJsonRpc = new KoaJsonRpc(logger.child({ name: 'koa-rpc' }), register, relay, rateLimitStore, {
164+
limit: ConfigService.get('INPUT_SIZE_LIMIT') + 'mb',
165+
});
172166

173167
const app = koaJsonRpc.getKoaApp();
174168

packages/server/tests/acceptance/rateLimiter.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ describe('@ratelimiter Shared Rate Limiting Acceptance Tests', function () {
4646
const storeB = new RedisRateLimitStore(redisClient, logger.child({ service: 'B' }), DURATION);
4747

4848
// Create two IPRateLimiterService instances pointing to the same Redis
49-
serviceA = new IPRateLimiterService(storeA, logger.child({ service: 'A' }), registryA);
50-
serviceB = new IPRateLimiterService(storeB, logger.child({ service: 'B' }), registryB);
49+
serviceA = new IPRateLimiterService(storeA, registryA);
50+
serviceB = new IPRateLimiterService(storeB, registryB);
5151
});
5252

5353
after(async function () {

packages/ws-server/src/webSocketServer.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ export async function initializeWsServer() {
8686

8787
const mirrorNodeClient = relay.mirrorClient();
8888

89-
const rateLimiter = new IPRateLimiterService(rateLimitStore, logger.child({ name: 'ip-rate-limit' }), register);
89+
const rateLimiter = new IPRateLimiterService(rateLimitStore, register);
9090
const limiter = new ConnectionLimiter(logger, register, rateLimiter);
9191
const wsMetricRegistry = new WsMetricRegistry(register);
9292

@@ -264,7 +264,7 @@ export async function initializeWsServer() {
264264
}
265265
});
266266

267-
const koaJsonRpc = new KoaJsonRpc(logger, register, relay, undefined, rateLimitStore);
267+
const koaJsonRpc = new KoaJsonRpc(logger, register, relay, rateLimitStore, undefined);
268268
const httpApp = koaJsonRpc.getKoaApp();
269269
collectDefaultMetrics({ register, prefix: 'rpc_relay_' });
270270

packages/ws-server/tests/acceptance/rateLimiter.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ describe('@web-socket-ratelimiter Shared Rate Limiting Acceptance Tests', functi
4747
const storeB = new RedisRateLimitStore(redisClient, logger.child({ service: 'WS-B' }), DURATION);
4848

4949
// Create two IPRateLimiterService instances for WebSocket servers pointing to the same Redis
50-
wsServiceA = new IPRateLimiterService(storeA, logger.child({ service: 'WS-A' }), registryA);
51-
wsServiceB = new IPRateLimiterService(storeB, logger.child({ service: 'WS-B' }), registryB);
50+
wsServiceA = new IPRateLimiterService(storeA, registryA);
51+
wsServiceB = new IPRateLimiterService(storeB, registryB);
5252
});
5353

5454
after(async function () {

packages/ws-server/tests/unit/connectionLimiter.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ describe('Connection Limiter', function () {
7070
const mockStore = {
7171
incrementAndCheck: sinon.stub().resolves(false),
7272
};
73-
const rateLimiter = new IPRateLimiterService(mockStore as any, mockLogger, mockRegistry);
73+
const rateLimiter = new IPRateLimiterService(mockStore as any, mockRegistry);
7474

7575
rateLimiterStub = sinon.stub(IPRateLimiterService.prototype, 'shouldRateLimit');
7676
connectionLimiter = new ConnectionLimiter(mockLogger, mockRegistry, rateLimiter);

0 commit comments

Comments
 (0)