This is an automated email from the ASF dual-hosted git repository.
kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push:
new 9676cb03488 [fix](load) acquire latest token instead of oldest token
in TokenManager (#34424) (#34535)
9676cb03488 is described below
commit 9676cb03488ca90bce694d5273c09fb81c9424fc
Author: Kaijie Chen <[email protected]>
AuthorDate: Wed May 8 19:11:52 2024 +0800
[fix](load) acquire latest token instead of oldest token in TokenManager
(#34424) (#34535)
---
.../main/java/org/apache/doris/load/loadv2/TokenManager.java | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/TokenManager.java
b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/TokenManager.java
index 80f6c3f9b50..7debdfd8143 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/TokenManager.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/TokenManager.java
@@ -44,6 +44,7 @@ public class TokenManager {
private int thriftTimeoutMs = 300 * 1000;
private EvictingQueue<String> tokenQueue;
+ private String latestToken;
private ScheduledExecutorService tokenGenerator;
public TokenManager() {
@@ -52,13 +53,18 @@ public class TokenManager {
public void start() {
this.tokenQueue = EvictingQueue.create(Config.token_queue_size);
// init one token to avoid async issue.
- this.tokenQueue.offer(generateNewToken());
+ this.addNewToken(generateNewToken());
this.tokenGenerator = Executors.newScheduledThreadPool(1,
new CustomThreadFactory("token-generator"));
- this.tokenGenerator.scheduleAtFixedRate(() ->
tokenQueue.offer(generateNewToken()), 0,
+ this.tokenGenerator.scheduleAtFixedRate(() ->
this.addNewToken(generateNewToken()), 0,
Config.token_generate_period_hour, TimeUnit.HOURS);
}
+ private void addNewToken(String token) {
+ tokenQueue.offer(token);
+ latestToken = token;
+ }
+
private String generateNewToken() {
return UUID.randomUUID().toString();
}
@@ -70,7 +76,7 @@ public class TokenManager {
public String acquireToken() throws UserException {
if (Env.getCurrentEnv().isMaster() || FeConstants.runningUnitTest) {
- return tokenQueue.peek();
+ return latestToken;
} else {
try {
return acquireTokenFromMaster();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]