This commit is contained in:
Štefan Miklošovič 2026-07-29 13:35:15 +08:00 committed by GitHub
commit 90ab939348
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 206 additions and 118 deletions

View File

@ -24,7 +24,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 1
parallelism: 4
steps:
- attach_workspace:
at: /home/cassandra
@ -140,7 +140,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -330,10 +330,10 @@ jobs:
j8_cqlsh-dtests-py2-with-vnodes:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -437,10 +437,10 @@ jobs:
j8_cqlsh_dtests_py311_vnode:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -544,10 +544,10 @@ jobs:
j11_dtests_vnode_repeat:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -698,7 +698,7 @@ jobs:
j8_dtests_large_vnode:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
@ -784,7 +784,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -971,7 +971,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -1161,10 +1161,10 @@ jobs:
j11_cqlsh_dtests_py311:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -1272,7 +1272,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -1464,7 +1464,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -1578,10 +1578,10 @@ jobs:
j8_cqlsh_dtests_py3:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -1685,10 +1685,10 @@ jobs:
j11_cqlsh_dtests_py38:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -1796,7 +1796,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -1989,7 +1989,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -2172,7 +2172,7 @@ jobs:
j11_dtests_large_vnode:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
@ -2256,10 +2256,10 @@ jobs:
j11_dtests_large_vnode_repeat:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -2388,10 +2388,10 @@ jobs:
j8_cqlsh_dtests_py311:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -2495,10 +2495,10 @@ jobs:
j11_cqlsh_dtests_py38_offheap:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -2603,7 +2603,7 @@ jobs:
j11_dtests_large:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
@ -2690,7 +2690,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -2880,10 +2880,10 @@ jobs:
j8_cqlsh_dtests_py3_vnode:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -2987,10 +2987,10 @@ jobs:
j11_cqlsh_dtests_py3:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -3098,7 +3098,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -3286,7 +3286,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -3399,10 +3399,10 @@ jobs:
j8_dtests_offheap_repeat:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -3530,10 +3530,10 @@ jobs:
j8_cqlsh-dtests-py2-offheap:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -3637,10 +3637,10 @@ jobs:
j11_dtests_offheap_repeat:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -3769,10 +3769,10 @@ jobs:
j8_dtests_large_repeat:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -3903,7 +3903,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -4090,7 +4090,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -4279,7 +4279,7 @@ jobs:
j8_dtests_large:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
@ -4362,10 +4362,10 @@ jobs:
j8_cqlsh-dtests-py2-no-vnodes:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -4540,10 +4540,10 @@ jobs:
j8_cqlsh_dtests_py38_offheap:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -4647,10 +4647,10 @@ jobs:
j8_upgrade_dtests_repeat:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -4778,10 +4778,10 @@ jobs:
j11_cqlsh-dtests-py2-with-vnodes:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -4889,7 +4889,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -5079,10 +5079,10 @@ jobs:
j11_dtests_repeat:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -5236,7 +5236,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -5428,7 +5428,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -5542,10 +5542,10 @@ jobs:
j8_cqlsh_dtests_py38:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -5649,10 +5649,10 @@ jobs:
j11_cqlsh_dtests_py3_offheap:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -5757,10 +5757,10 @@ jobs:
j11_cqlsh_dtests_py311_offheap:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -5868,7 +5868,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -6057,10 +6057,10 @@ jobs:
j11_dtests_large_repeat:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -6189,10 +6189,10 @@ jobs:
j8_cqlsh_dtests_py3_offheap:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -6299,7 +6299,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -6488,10 +6488,10 @@ jobs:
j8_dtests_vnode_repeat:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -6619,10 +6619,10 @@ jobs:
j11_cqlsh_dtests_py3_vnode:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -6727,10 +6727,10 @@ jobs:
j8_upgrade_dtests:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -6810,10 +6810,10 @@ jobs:
j11_dtests_offheap:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -6919,7 +6919,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -7108,10 +7108,10 @@ jobs:
j11_cqlsh_dtests_py38_vnode:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -7219,7 +7219,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -7409,10 +7409,10 @@ jobs:
j11_cqlsh_dtests_py311_vnode:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -7520,7 +7520,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -7709,10 +7709,10 @@ jobs:
j8_dtests_offheap:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -7795,7 +7795,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -7911,7 +7911,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 1
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -8131,10 +8131,10 @@ jobs:
j8_dtests:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -8214,10 +8214,10 @@ jobs:
j11_cqlsh-dtests-py2-no-vnodes:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -8322,10 +8322,10 @@ jobs:
j8_dtests_vnode:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -8470,7 +8470,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -8659,10 +8659,10 @@ jobs:
j11_dtests:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -8768,7 +8768,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -9023,7 +9023,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -9136,10 +9136,10 @@ jobs:
j8_cqlsh_dtests_py311_offheap:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -9243,10 +9243,10 @@ jobs:
j8_dtests_repeat:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -9377,7 +9377,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 1
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -9595,10 +9595,10 @@ jobs:
j8_cqlsh_dtests_py38_vnode:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -9702,10 +9702,10 @@ jobs:
j11_cqlsh-dtests-py2-offheap:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -9813,7 +9813,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -10134,10 +10134,10 @@ jobs:
j11_dtests_vnode:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -10243,7 +10243,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -10432,10 +10432,10 @@ jobs:
j8_dtests_large_vnode_repeat:
docker:
- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -10566,7 +10566,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra

View File

@ -774,6 +774,9 @@ public class CassandraDaemon
start();
logger.info("Startup complete");
if (Systemd.isAvailable())
Systemd.get().notifyReady();
}
catch (Throwable e)
{

View File

@ -0,0 +1,85 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.cassandra.service;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.sun.jna.Library;
import com.sun.jna.Native;
import org.apache.cassandra.utils.SigarLibrary;
public class Systemd
{
private static final Logger logger = LoggerFactory.getLogger(Systemd.class);
private static final Api INSTANCE = init();
private interface RawApi extends Library
{
int sd_pid_notify(int pid, int unset, String state);
}
public static class Api
{
private final RawApi impl;
private Api(RawApi rawApi)
{
this.impl = rawApi;
}
public void notifyReady()
{
long pid = SigarLibrary.instance.getPid();
int returnValue = impl.sd_pid_notify((int) pid, 0, "READY=1");
if (returnValue <= 0)
logger.debug("systemd notify failed for pid {}: {}", pid, returnValue);
else
logger.debug("systemd notified for pid {}, return value: {}", pid, returnValue);
}
}
public static boolean isAvailable()
{
return INSTANCE != null;
}
public static Api get()
{
if (!isAvailable())
throw new RuntimeException("systemd is not available");
return INSTANCE;
}
private static Api init()
{
try
{
RawApi rawApi = Native.load("systemd", RawApi.class);
return new Api(rawApi);
}
catch (Throwable t)
{
logger.debug("systemd support is not available: {}", t.getMessage());
return null;
}
}
}