Summary

The setAllowUpdateDesiredDigesters() mutation controls automatic rebalancing of digester node assignments across the cluster. Digesters are the nodes responsible for ingesting and processing incoming events. When enabled, LogScale automatically reassigns digesters during cluster rebalancing and after node changes. When disabled, digester assignments remain fixed.

Disable this setting during planned maintenance to prevent automatic reassignment. Re-enable the setting afterward to restore automatic rebalancing.

Syntax

graphql
setAllowUpdateDesiredDigesters(
      allowUpdateDesiredDigesters: Boolean!
   ): Boolean!

The required argument allowUpdateDesiredDigesters accepts a non-null Boolean value. Pass true to enable automatic rebalancing of digester assignments. Pass false to lock assignments to the current set of digesters. The mutation returns the new value of allowUpdateDesiredDigesters.

Example

Raw
graphql
mutation {
  setAllowUpdateDesiredDigesters(
     allowUpdateDesiredDigesters: true )
}
Mac OS or Linux (curl)
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  setAllowUpdateDesiredDigesters(
     allowUpdateDesiredDigesters: true )
}"
}
EOF
Mac OS or Linux (curl) One-line
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  setAllowUpdateDesiredDigesters(
     allowUpdateDesiredDigesters: true )
}"
}
EOF
Windows Cmd and curl
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
    -H "Authorization: Bearer $TOKEN" ^
    -H "Content-Type: application/json" ^
    -d @'{"query" : "mutation { ^
  setAllowUpdateDesiredDigesters( ^
     allowUpdateDesiredDigesters: true ) ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  setAllowUpdateDesiredDigesters(
     allowUpdateDesiredDigesters: true )
}"
}'
    "$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $query = "mutation {
  setAllowUpdateDesiredDigesters(
     allowUpdateDesiredDigesters: true )
}";
$query =~ s/\n/ /g;
my $json = sprintf('{"query" : "%s"}',$query);
my $req = HTTP::Request->new("POST", $uri );

$req->header("Authorization" => "Bearer $TOKEN");
$req->header("Content-Type" => "application/json");

$req->content( $json );

my $lwp = LWP::UserAgent->new;

my $result = $lwp->request( $req );

print $result->{"_content"},"\n";
Python
python
#! /usr/local/bin/python3

import requests

url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "mutation {
  setAllowUpdateDesiredDigesters(
     allowUpdateDesiredDigesters: true )
}"
}'''

resp = requests.post(url,
                     data = mydata,
                     headers = {
   "Authorization" : "Bearer $TOKEN",
   "Content-Type" : "application/json"
}
)

print(resp.text)
Node.js
javascript
const https = require('https');

const data = JSON.stringify(
    {"query" : "mutation {
  setAllowUpdateDesiredDigesters(
     allowUpdateDesiredDigesters: true )
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL',
  path: 'graphql',
  port: 443,
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': data.length,
    Authorization: 'BEARER ' + process.env.TOKEN,
    'User-Agent': 'Node',
  },
};

const req = https.request(options, (res) => {
  let data = '';
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', (d) => {
    data += d;
  });
  res.on('end', () => {
    console.log(JSON.parse(data).data);
  });
});

req.on('error', (error) => {
  console.error(error);
});

req.write(data);
req.end();
Example Responses
Success (HTTP Response Code 200 OK)
json
{
  "data": {
    "setAllowUpdateDesiredDigesters": true
  }
}

Input Parameters

This mutation takes one required Boolean argument.

Table: Input Parameters & Datatypes

Parameter Type Required Default Description
This table contains all input parameters for this mutation.
allowUpdateDesiredDigesters boolean yes ย  Set to true to allow LogScale to automatically reassign digesters during cluster rebalancing and node changes. Set to false to lock digester assignments to the current set, preventing automatic reassignment. Locking assignments is useful during planned maintenance.