Skip to content

Commit eb20837

Browse files
committed
Fixed the known clients logged in redis as anonymous, added slack message for DB sync.
1 parent fb74219 commit eb20837

File tree

2 files changed

+19
-17
lines changed

2 files changed

+19
-17
lines changed

orcid-pub-web/src/main/java/org/orcid/api/filters/ApiRateLimitFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ private void rateLimitClientRequest(String clientId, LocalDate today) throws JSO
199199
} else {
200200
dailyLimitsObj = new JSONObject();
201201
dailyLimitsObj.put(PapiRateLimitRedisClient.KEY_DATE_CREATED, System.currentTimeMillis());
202-
dailyLimitsObj.put(PapiRateLimitRedisClient.KEY_IS_ANONYMOUS, true);
202+
dailyLimitsObj.put(PapiRateLimitRedisClient.KEY_IS_ANONYMOUS, false);
203203
dailyLimitsObj.put(PapiRateLimitRedisClient.KEY_REQUEST_DATE, today.toString());
204204
}
205205
dailyLimitsObj.put(PapiRateLimitRedisClient.KEY_REQUEST_CLIENT, clientId);

orcid-scheduler-web/src/main/java/org/orcid/scheduler/report/PapiDailyLimitReport.java

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -75,22 +75,24 @@ public void papiDailyLimitReport() {
7575
if (enableRateLimiting) {
7676
try
7777
{
78-
LocalDate yesterday = LocalDate.now().minusDays(1);
79-
// save redis cached data to DB
80-
papiRedisClient.saveRedisPapiLimitDateToDB(yesterday);
81-
82-
//Report to Slack Channel
83-
String mode = Features.ENABLE_PAPI_RATE_LIMITING.isActive() ? "ENFORCEMENT" : "MONITORING";
84-
String SLACK_INTRO_MSG = "Public API Rate limit report - Date: " + yesterday.toString() + "\nCurrent Anonymous Requests Limit: " + anonymousRequestLimit
85-
+ "\nCurrent Public API Clients Limit: " + knownRequestLimit + "\nMode: " + mode;
86-
LOG .info(SLACK_INTRO_MSG);
87-
slackManager.sendAlert(SLACK_INTRO_MSG, slackChannel, webhookUrl, webhookUrl);
88-
89-
String SLACK_STATS_MSG = "Count of Anonymous IPs blocked: " + papiRateLimitingDao.countAnonymousRequestsWithLimitExceeded(yesterday, anonymousRequestLimit)
90-
+ "\nCount of Public API clients that have exceeded the limit: "
91-
+ papiRateLimitingDao.countClientRequestsWithLimitExceeded(yesterday, knownRequestLimit);
92-
LOG .info(SLACK_STATS_MSG);
93-
slackManager.sendAlert(SLACK_STATS_MSG, slackChannel, webhookUrl, webhookUrl);
78+
LocalDate yesterday = LocalDate.now().minusDays(1);
79+
// save redis cached data to DB
80+
papiRedisClient.saveRedisPapiLimitDateToDB(yesterday);
81+
String SLACK_SAVE_DB_MSG = "Public API Rate DB Sync - Date: " + yesterday.toString() + ". Redis entries synched in Postgres." ;
82+
LOG .info(SLACK_SAVE_DB_MSG);
83+
slackManager.sendAlert(SLACK_SAVE_DB_MSG, slackChannel, webhookUrl, webhookUrl);
84+
//Report to Slack Channel
85+
String mode = Features.ENABLE_PAPI_RATE_LIMITING.isActive() ? "ENFORCEMENT" : "MONITORING";
86+
String SLACK_INTRO_MSG = "Public API Rate limit report - Date: " + yesterday.toString() + "\nCurrent Anonymous Requests Limit: " + anonymousRequestLimit
87+
+ "\nCurrent Public API Clients Limit: " + knownRequestLimit + "\nMode: " + mode;
88+
LOG .info(SLACK_INTRO_MSG);
89+
slackManager.sendAlert(SLACK_INTRO_MSG, slackChannel, webhookUrl, webhookUrl);
90+
91+
String SLACK_STATS_MSG = "Count of Anonymous IPs blocked: " + papiRateLimitingDao.countAnonymousRequestsWithLimitExceeded(yesterday, anonymousRequestLimit)
92+
+ "\nCount of Public API clients that have exceeded the limit: "
93+
+ papiRateLimitingDao.countClientRequestsWithLimitExceeded(yesterday, knownRequestLimit);
94+
LOG .info(SLACK_STATS_MSG);
95+
slackManager.sendAlert(SLACK_STATS_MSG, slackChannel, webhookUrl, webhookUrl);
9496
}
9597
catch (Exception ex) {
9698
slackManager.sendAlert("!!!!! Exception when storing papi limit redis data to DB. Check the logs" + "\n" + ex.toString() , slackChannel, webhookUrl, webhookUrl);

0 commit comments

Comments
 (0)