Hi everyone!
Issue 3 fixed in master.
In master control.sh now is:
*> control.sh --help*
Control utility [ver. 2.8.0-SNAPSHOT#20190827-sha1:DEV]
2019 Copyright(C) Apache Software Foundation
User: santonov
Time: 2019-08-27T18:22:45.023
Control utility script is used to execute admin commands on cluster or get
common cluster info. The command has the following syntax:
control.(sh|bat) [--host HOST_OR_IP] [--port PORT] [--user USER]
[--password PASSWORD] [--ping-interval PING_INTERVAL] [--ping-timeout
PING_TIMEOUT] [--ssl-protocol SSL_PROTOCOL[, SSL_PROTOCOL_2, ...,
SSL_PROTOCOL_N]] [--ssl-cipher-suites SSL_CIPHER_1[, SSL_CIPHER_2, ...,
SSL_CIPHER_N]] [--ssl-key-algorithm SSL_KEY_ALGORITHM] [--keystore-type
KEYSTORE_TYPE] [--keystore KEYSTORE_PATH] [--keystore-password
KEYSTORE_PASSWORD] [--truststore-type TRUSTSTORE_TYPE] [--truststore
TRUSTSTORE_PATH] [--truststore-password TRUSTSTORE_PASSWORD] [command]
<command_parameters>
This utility can do the following commands:
Activate cluster:
control.(sh|bat) --activate
Deactivate cluster:
control.(sh|bat) --deactivate [--yes]
Print current cluster state:
control.(sh|bat) --state
Print cluster baseline topology:
control.(sh|bat) --baseline
Add nodes into baseline topology:
control.(sh|bat) --baseline add
consistentId1[,consistentId2,....,consistentIdN] [--yes]
Remove nodes from baseline topology:
control.(sh|bat) --baseline remove
consistentId1[,consistentId2,....,consistentIdN] [--yes]
Set baseline topology:
control.(sh|bat) --baseline set
consistentId1[,consistentId2,....,consistentIdN] [--yes]
Set baseline topology based on version:
control.(sh|bat) --baseline version topologyVersion [--yes]
Set baseline autoadjustment settings:
control.(sh|bat) --baseline auto_adjust [disable|enable] [timeout
<timeoutMillis>] [--yes]
List or kill transactions:
control.(sh|bat) --tx [--xid XID] [--min-duration SECONDS] [--min-size
SIZE] [--label PATTERN_REGEX] [--servers|--clients] [--nodes
consistentId1[,consistentId2,....,consistentIdN]] [--limit NUMBER] [--order
DURATION|SIZE|START_TIME] [--kill] [--info] [--yes]
Print detailed information (topology and key lock ownership) about
specific transaction:
control.(sh|bat) --tx --info <TX identifier as GridCacheVersion
[topVer=..., order=..., nodeOrder=...] (can be found in logs)>|<TX
identifier as UUID (can be retrieved via --tx command)>
View caches information in a cluster. For more details type:
control.(sh|bat) --cache help
Print absolute paths of unused archived wal segments on each node:
control.(sh|bat) --wal print
[consistentId1,consistentId2,....,consistentIdN]
Delete unused archived wal segments on each node:
control.(sh|bat) --wal delete
[consistentId1,consistentId2,....,consistentIdN] [--yes]
View diagnostic information in a cluster. For more details type:
control.(sh|bat) --diagnostic
Enable read-only mode on active cluster:
control.(sh|bat) --read-only-on [--yes]
Disable read-only mode on active cluster:
control.(sh|bat) --read-only-off [--yes]
By default commands affecting the cluster require interactive confirmation.
Use --yes option to disable it.
Default values:
HOST_OR_IP=127.0.0.1
PORT=11211
PING_INTERVAL=5000
PING_TIMEOUT=30000
SSL_PROTOCOL=TLS
SSL_KEY_ALGORITHM=SunX509
KEYSTORE_TYPE=JKS
TRUSTSTORE_TYPE=JKS
Exit codes:
0 - successful execution.
1 - invalid arguments.
2 - connection failed.
3 - authentication failed.
4 - unexpected error.
Control utility has completed execution at: 2019-08-27T18:22:45.193
Execution time: 170 ms
*> control.sh --cache help*
Control utility [ver. 2.8.0-SNAPSHOT#20190827-sha1:DEV]
2019 Copyright(C) Apache Software Foundation
User: santonov
Time: 2019-08-27T18:25:01.577
Command [CACHE] started
Arguments: --cache help --yes
--------------------------------------------------------------------------------
The '--cache subcommand' is used to get information about and perform
actions with caches. The command has the following syntax:
control.(sh|bat) [--host HOST_OR_IP] [--port PORT] [--user USER]
[--password PASSWORD] [--ping-interval PING_INTERVAL] [--ping-timeout
PING_TIMEOUT] [--ssl-protocol SSL_PROTOCOL[, SSL_PROTOCOL_2, ...,
SSL_PROTOCOL_N]] [--ssl-cipher-suites SSL_CIPHER_1[, SSL_CIPHER_2, ...,
SSL_CIPHER_N]] [--ssl-key-algorithm SSL_KEY_ALGORITHM] [--keystore-type
KEYSTORE_TYPE] [--keystore KEYSTORE_PATH] [--keystore-password
KEYSTORE_PASSWORD] [--truststore-type TRUSTSTORE_TYPE] [--truststore
TRUSTSTORE_PATH] [--truststore-password TRUSTSTORE_PASSWORD] --cache
[subcommand] <subcommand_parameters>
The subcommands that take [nodeId] as an argument ('list',
'find_garbage', 'contention' and 'validate_indexes') will be executed on
the given node or on all server nodes if the option is not specified. Other
commands will run on a random server node.
Subcommands:
--cache idle_verify [--dump] [--skip-zeros] [--check-crc]
[--exclude-caches cacheName1,...,cacheNameN] [--cache-filter
DEFAULT|SYSTEM|PERSISTENT|NOT_PERSISTENT|USER|ALL]
[cacheName1,...,cacheNameN]
Verify counters and hash sums of primary and backup partitions for the
specified caches/cache groups on an idle cluster and print out the
differences, if any. Cache filtering options configure the set of caches
that will be processed by idle_verify command. Default value for the set of
cache names (or cache group names) is all cache groups. Default value for
--exclude-caches is empty set. Default value for --cache-filter is no
filtering. Therefore, the set of all caches is sequently filtered by cache
name regexps, by cache type and after all by exclude regexps.
Parameters:
--check-crc - check the CRC-sum of pages stored on disk before
verifying data consistency in partitions between primary and backup nodes.
--cache list regexPattern [--groups|--seq] [nodeId] [--config]
[--output-format multi-line]
Show information about caches, groups or sequences that match a regular
expression. When executed without parameters, this subcommand prints the
list of caches.
Parameters:
--config - print all configuration parameters for
each cache.
--output-format multi-line - print configuration parameters per
line. This option has effect only when used with --config and without
[--groups|--seq].
--groups - print information about groups.
--seq - print information about sequences.
--cache validate_indexes [cacheName1,...,cacheNameN] [nodeId]
[--check-first N|--check-through K]
Verify counters and hash sums of primary and backup partitions for the
specified caches/cache groups on an idle cluster and print out the
differences, if any. Cache filtering options configure the set of caches
that will be processed by idle_verify command. Default value for the set of
cache names (or cache group names) is all cache groups. Default value for
--exclude-caches is empty set. Default value for --cache-filter is no
filtering. Therefore, the set of all caches is sequently filtered by cache
name regexps, by cache type and after all by exclude regexps.
Parameters:
--check-first N - validate only the first N keys
--check-through K - validate every Kth key
--cache contention minQueueSize [nodeId] [maxPrint]
Show the keys that are point of contention for multiple transactions.
--cache distribution nodeId|null [cacheName1,...,cacheNameN]
[--user-attributes attrName1,...,attrNameN]
Prints the information about partition distribution.
--cache reset_lost_partitions cacheName1,...,cacheNameN
Reset the state of lost partitions for the specified caches.
--cache find_garbage [groupName1,...,groupNameN] [nodeId] [--delete]
Find and optionally delete garbage from shared cache groups which could
be left after cache destroy.
Command [CACHE] finished with code: 0
Control utility has completed execution at: 2019-08-27T18:25:01.857
Execution time: 280 ms
вт, 27 авг. 2019 г. в 17:30, Artem Budnikov <[email protected]>:
> Hi everyone,
>
> Re Issue 3:
>
> That's a good idea, but as far as I remember this was done in
> https://jira.apache.org/jira/browse/IGNITE-10279 and is waiting to be
> released in Ignite 2.8.
>
> -Artem
>
> On 26.08.2019 15:18, Anton Kalashnikov wrote:
> > Hello, Igniters.
> >
> > +1 for Script help usability - issue 3
> >
> > Looks like it will be great if we avoid the repeated output of the
> commands, ex.:
> >
> > control.sh [--host HOST_OR_IP] [--port PORT] [--user USER] [--password
> PASSWORD] [--ping-interval PING_INTERVAL] [--ping-timeout PING_TIMEOUT]
> [<command>] [--yes]
> >
> > Allowable <command>:
> > --activate - ...
> > --deactivate - ...
> > ...
> >
> > --
> > Best regards,
> > Anton Kalashnikov
> >
> >
> > 26.08.2019, 15:00, "Dmitriy Pavlov" <[email protected]>:
> >> Hi Igniters,
> >>
> >> During voting on 2.7.6-rc1, I saw how experienced Ignite contributor
> >> committer and PMC member were trying to activate cluster using
> control.sh
> >> command.
> >>
> >> We usually just call cluster().active(true), but end users have to use
> the
> >> script provided in the distribution.
> >>
> >> Related to control.sh there are 3 concerns:
> >>
> >> Issue 1: On Mac OS if there is an empty (unset) JAVA_HOME variable,
> script
> >> outputs noting and probably does not execute its comment.
> >>
> >> Petr Ivanov, Alexey Goncharuck, could you please double-check if it
> could
> >> be fixed?
> >>
> >> Issue 2: Control.sh was not able to connect to cluster (local). AFAIK
> >> multicast is still our defaults. so it should be possible to connect to
> >> cluster without any options.
> >>
> >> Ivan Rakov, could you please chime in? Is it a local issue or bug?
> >>
> >> Issue 3: Script help usability
> >>
> >> Example of output:
> >>
> >> Activate cluster:
> >>
> >> control.sh [--host HOST_OR_IP] [--port PORT] [--user USER]
> [--password
> >> PASSWORD] [--ping-interval PING_INTERVAL] [--ping-timeout PING_TIMEOUT]
> >> --activate
> >>
> >> Deactivate cluster:
> >>
> >> control.sh [--host HOST_OR_IP] [--port PORT] [--user USER]
> [--password
> >> PASSWORD] [--ping-interval PING_INTERVAL] [--ping-timeout PING_TIMEOUT]
> >> --deactivate [--yes]
> >>
> >> ...
> >>
> >> Why do we repeat tons of parameters each time? Is it better for users to
> >> enlist options and commands separately?
> >>
> >> control.sh [options] command
> >>
> >> and then enlist options
> >>
> >> [--host HOST_OR_IP]
> >>
> >> [--port PORT]
> >>
> >> [--user USER]
> >>
> >> [--password PASSWORD]
> >>
> >> [--ping-interval PING_INTERVAL]
> >>
> >> [--ping-timeout PING_TIMEOUT]
> >>
> >> and describe several commands we have?
> >>
> >> In coding WET is not the best solution. So maybe we could DRY in our
> help,
> >> should we?
> >>
> >> Artem Boudnikov, could you evaluate this idea?
> >>
> >> Sincerely,
> >> Dmitriy Pavlov
>
--
BR, Sergey Antonov