Skip to content

Commit

Permalink
Merge pull request #23 from project-tsurugi/version1_2_0
Browse files Browse the repository at this point in the history
bump tsubakuro verson to 1.2.0 and apply app name, session label
  • Loading branch information
pmt-takayoshi-shiraki committed Feb 1, 2024
2 parents 3970ccd + 07142db commit b73d7d3
Show file tree
Hide file tree
Showing 8 changed files with 25 additions and 14 deletions.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.1.1
1.2.0
2 changes: 1 addition & 1 deletion webapi/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ plugins {
group = 'com.tsurugidb.belayer'
def versionString = file('../VERSION').text.trim()
version = versionString
def tsubarkuro_version = '1.1.0'
def tsubarkuro_version = '1.2.0'

def resolvedTsubakuroVersion = project.hasProperty('com.tsurugidb.tsubakuro.version')
? project.getProperty('com.tsurugidb.tsubakuro.version')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ public Mono<LongTransactionJob> startTransaction(TransactionApiParameter param)
var credentials = param.getCredentials();
Objects.requireNonNull(credentials);
var cred = new RememberMeCredential(credentials);
var tran = tsubakuroService.createTransaction(type, cred, param.getUid(), Optional.of(param.getTimeoutMin()), true, param.getTables());
var tran = tsubakuroService.createTransaction(type, cred, param.getUid(), "stream_api", Optional.of(param.getTimeoutMin()), true, param.getTables());

job.setTsurugiTransaction(tran);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public interface TsubakuroService {

LoadJob createLoadTransaction(LoadJob job);

TsurugiTransaction createTransaction(TransactionType transactionType, @Nonnull Credential credential, String jobId, Optional<Integer> timeoutMin, boolean needTransaction, String... tables );
TsurugiTransaction createTransaction(TransactionType transactionType, @Nonnull Credential credential, String jobId, String label, Optional<Integer> timeoutMin, boolean needTransaction, String... tables );

/**
* dump all rows in specified table.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@
import com.tsurugidb.tsubakuro.sql.util.Load;
import com.tsurugidb.tsubakuro.sql.util.LoadBuilder;

import lombok.NonNull;
import lombok.extern.slf4j.Slf4j;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
Expand All @@ -92,6 +93,9 @@ public class TsubakuroServiceImpl implements TsubakuroService {
@Autowired
ParquetService parquetService;

@Value("${webapi.application.name}")
private String applicationName;

@Value("${webapi.tsurugi.url}")
private String tsurugiUrl;

Expand Down Expand Up @@ -125,6 +129,8 @@ public BackupJob createBackupTransaction(BackupJob job) {

session = SessionBuilder.connect(dbEndpointUrl)
.withCredential(new RememberMeCredential(cred))
.withApplicationName(applicationName)
.withLabel("backup")
.create(this.connectTimeout, TimeUnit.SECONDS);

Objects.requireNonNull(session);
Expand Down Expand Up @@ -201,7 +207,7 @@ public DumpJob createDumpTransaction(DumpJob job) {
var credentials = Objects.requireNonNull((String) job.getCredentials(), "credentials is not supplied");

var cred = new RememberMeCredential(credentials);
var tx = createTransaction(TransactionType.READ_ONLY, cred, job.getJobId(), Optional.empty(), true, job.getTable());
var tx = createTransaction(TransactionType.READ_ONLY, cred, job.getJobId(), "dump", Optional.empty(), true, job.getTable());
job.setTsurugiTransaction(tx);

return job;
Expand All @@ -211,15 +217,15 @@ public LoadJob createLoadTransaction(LoadJob job) {
var credentials = (String) job.getCredentials();
Objects.requireNonNull(credentials);
var cred = new RememberMeCredential(credentials);
var tx = createTransaction(TransactionType.LONG, cred, job.getJobId(), Optional.empty(), job.isTransactionNeeded(),
var tx = createTransaction(TransactionType.LONG, cred, job.getJobId(), "load", Optional.empty(), job.isTransactionNeeded(),
job.getTable());
job.setTsurugiTransaction(tx);

return job;
}

public TsurugiTransaction createSqlClient(@Nonnull Credential credential, String jobId,
Optional<Integer> timeoutMin) {
Optional<Integer> timeoutMin, String label) {

Session session = null;
SqlClient client = null;
Expand All @@ -229,6 +235,8 @@ public TsurugiTransaction createSqlClient(@Nonnull Credential credential, String

session = SessionBuilder.connect(dbEndpointUrl)
.withCredential(credential)
.withApplicationName(applicationName)
.withLabel(label)
.create(this.connectTimeout, TimeUnit.SECONDS);

Integer sessionTimeout = timeoutMin.orElse(Integer.valueOf(this.sessionTimeout));
Expand Down Expand Up @@ -271,14 +279,14 @@ public TsurugiTransaction createSqlClient(@Nonnull Credential credential, String
}

public TsurugiTransaction createTransaction(TransactionType transactionType, @Nonnull Credential credential,
String jobId,
String jobId, String label,
Optional<Integer> timeoutMin, boolean needTransaction, String... tables) {
boolean green = false;

TsurugiTransaction tsurugiTransaction = null;
Transaction tran = null;
try {
tsurugiTransaction = createSqlClient(credential, jobId, timeoutMin);
tsurugiTransaction = createSqlClient(credential, jobId, timeoutMin, label);
if (!needTransaction) {
green = true;
return tsurugiTransaction;
Expand Down Expand Up @@ -612,6 +620,8 @@ public List<String> listTables(String credential) {
Objects.requireNonNull(credential);
session = SessionBuilder.connect(dbEndpointUrl)
.withCredential(new RememberMeCredential(credential))
.withApplicationName(applicationName)
.withLabel("list_table")
.create(this.connectTimeout, TimeUnit.SECONDS);

Objects.requireNonNull(session);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ public DumpJob createDumpTransaction(DumpJob job) {
String credentials = (String) job.getCredentials();
Objects.requireNonNull(credentials);
var cred = new RememberMeCredential(credentials);
var tx = createTransaction(TransactionType.READ_ONLY, cred, job.getJobId(), Optional.empty(), true, job.getTable());
var tx = createTransaction(TransactionType.READ_ONLY, cred, job.getJobId(), "dump", Optional.empty(), true, job.getTable());
job.setTsurugiTransaction(tx);

return job;
Expand All @@ -121,13 +121,13 @@ public LoadJob createLoadTransaction(LoadJob job) {
String credentials = (String) job.getCredentials();
Objects.requireNonNull(credentials);
var cred = new RememberMeCredential(credentials);
var tx = createTransaction(TransactionType.LONG, cred, job.getJobId(), Optional.empty(), job.isTransactionNeeded(), job.getTable());
var tx = createTransaction(TransactionType.LONG, cred, job.getJobId(), "load", Optional.empty(), job.isTransactionNeeded(), job.getTable());
job.setTsurugiTransaction(tx);

return job;
}

public TsurugiTransaction createTransaction(TransactionType transactionType, @Nonnull Credential credential, String jobId,
public TsurugiTransaction createTransaction(TransactionType transactionType, @Nonnull Credential credential, String jobId, String label,
Optional<Integer> timeoutMin, boolean needTransaction, String... tables) {
log.debug("called: createTransaction()");
return TsurugiTransaction.builder()
Expand Down
1 change: 1 addition & 0 deletions webapi/src/main/resources/application.properties
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ logging.level.com.tsurugidb=DEBUG
logging.level.org.springframework=INFO

# app
webapi.application.name=belayer-webapi
webapi.storage.root=${BELAYER_STORAGE_ROOT:/opt/belayer/storage}
webapi.tsurugi.url=${TSURUGI_URL:tcp://localhost:12345/}
webapi.tsurugi.connect_timeout=${TSURUGI_CONNECT_TIMEOUT_SEC:5}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ public void testTransactionSenario() {
status.setStartTime(now);

when(jobIdService.createNewJobId()).thenReturn(jobId);
when(tsubakuroService.createTransaction(any(), any(), any(), any(), anyBoolean(), any()))
when(tsubakuroService.createTransaction(any(), any(), any(), any(), any(), anyBoolean(), any()))
.thenCallRealMethod();

client.post().uri(ApiPath.START_TRANSACTION_API)
Expand Down Expand Up @@ -176,7 +176,7 @@ public void testTransactionSenario() {

when(tsubakuroService.loadFile(any(), any())).thenReturn(Mono.just(jobId + "/" + fileName));
when(uploadHelper.saveFile(anyString(), any(), any())).thenReturn(Mono.just(jobId + "/" + fileName));
when(fileSystemService.convertToAbsolutePath(any(), any())).thenCallRealMethod();
when(fileSystemService.convertToAbsolutePath(any(), any())).thenReturn(Path.of("./test_tmp/TESTJOBID"));
when(fileSystemService.convertToDownloadPath(any(), any())).thenReturn(Path.of("TESTJOBID/test-file.parquet"));
doNothing().when(fileSystemService).deleteFile(anyString(), anyString());

Expand Down

0 comments on commit b73d7d3

Please sign in to comment.