Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/administration/sasl.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ ARCUS_ACL_ZOOKEEPER="127.0.0.1:2181" ARCUS_ACL_GROUP="prod"\
이 경우 `ARCUS_ACL_ZOOKEEPER`, `ARCUS_ACL_GROUP` ν™˜κ²½λ³€μˆ˜λŠ” μ„€μ •λœ μƒνƒœμ—¬μ•Ό 정상 λ™μž‘ν•œλ‹€.
λ°˜λŒ€λ‘œ, SASL 인증을 λ™μ μœΌλ‘œ λΉ„ν™œμ„±ν™”ν•˜λŠ” κΈ°λŠ₯은 μ œκ³΅ν•˜μ§€ μ•ŠλŠ”λ‹€.

ARCUS Cache ServerλŠ” ZooKeeper에 μ €μž₯된 인증/κΆŒν•œ 정보λ₯Ό κ°€μ Έμ™€μ„œ μΊμ‹±ν•˜μ—¬ μ‚¬μš©ν•˜λ©°, 24μ‹œκ°„ 주기둜 κ°±μ‹ ν•œλ‹€.
ARCUS Cache ServerλŠ” ZooKeeper에 μ €μž₯된 인증/κΆŒν•œ 정보λ₯Ό κ°€μ Έμ™€μ„œ μΊμ‹±ν•˜μ—¬ μ‚¬μš©ν•˜λ©°, λ§ˆμ§€λ§‰ 캐싱 μ‹œμ μœΌλ‘œλΆ€ν„° 12-24μ‹œκ°„ 사이 λžœλ€ν•œ μ‹œκ°„μ΄ μ§€λ‚œ λ’€ 캐싱 μž‘μ—…μ„ μž¬μˆ˜ν–‰ν•œλ‹€.
λ”°λΌμ„œ ACL μ‚¬μš©μž 정보λ₯Ό μΆ”κ°€/μˆ˜μ •/μ œκ±°ν•˜λŠ” 경우 μΊμ‹œμ— λ°˜μ˜λ˜μ–΄ μ‚¬μš©λ˜κΈ°κΉŒμ§€ μ΅œλŒ€ 24μ‹œκ°„μ΄ μ†Œμš”λ  수 μžˆλ‹€.
ν•„μš” μ‹œ λΉ λ₯Έ λ°˜μ˜μ„ μœ„ν•΄ `reload auth` λͺ…령을 μ œκ³΅ν•œλ‹€.

Expand Down
7 changes: 4 additions & 3 deletions sasl_auxprop.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

/* cache table's size */
#define SASL_TABLE_SIZE 16
#define REFRESH_PERIOD 24 * 60 * 60 /* sec */
#define REFRESH_PERIOD 12 * 60 * 60 /* sec */
#define GROUP_MAXLEN 32
#define USERNAME_MAXLEN 32
#define PROPNAME_MAXLEN 32
Expand Down Expand Up @@ -176,13 +176,14 @@ static void* acl_refresh_thread(void *arg)

clock_gettime(CLOCK_REALTIME, &ts);
srand(ts.tv_sec);
ts.tv_sec += rand() % REFRESH_PERIOD;

mc_logger->log(EXTENSION_LOG_INFO, NULL, "ACL refresh thread is running.\n");

acl_thread_running = true;
while (!acl_thread_stopreq) {
ts.tv_sec += REFRESH_PERIOD;
clock_gettime(CLOCK_REALTIME, &ts);
ts.tv_sec += REFRESH_PERIOD + (rand() % REFRESH_PERIOD);

pthread_mutex_lock(&acl_thread_lock);
if (!acl_thread_stopreq) {
pthread_cond_timedwait(&acl_thread_cond, &acl_thread_lock, &ts);
Expand Down