Apache Cache Docs
- [Apache Cache Docs](# Apache Cache Docs)
Get start params in meate data:
https://cedt-icg-bitbucket.nam.nsroot.net/bitbucket/projects/OCEAN/repos/oceanmetadb/browse/db/data/int/rio/rio_cache_server.sql
select param.* from meta_comp comp
join meta_comp_param param on comp.comp_id = param.comp_id
where comp_nm in ('rio_umb_cache_server_1');
select param.* from meta_comp comp
join meta_comp_param param on comp.comp_id = param.comp_id
where comp_nm in ('rio_umb_cache_server_2');
select param.* from meta_comp comp
join meta_comp_param param on comp.comp_id = param.comp_id
where comp_nm in ('rio_yume_cache_server_1');
Project Path
project dir:
/global/ocean/data/rio/nextgen/rio_cacheserver/current
log dir:
/global/ocean/data/ocean/log/common/common/rio_cacheserver/
data dir:
/global/ocean/data/ocean/data/common/common/rio_cacheserver/
Start in Local
tasks.gradle:
first: setup env -> run task: jenkinsToUdeploy
start umbCache -> run task: umbCacheStart
stop umbCache -> run task: umbCacheStop
start yumeCache -> run task: yumeCacheStart
stop yumeCache -> run task: yumeCacheStop
restore region data -> setup the args for region name, run task: restore
load refdata to region -> run task: loadRefdata
evict region data -> run task: evict
Start on Server
Umb cache server:
${RIO_CACHESERVER_BIN}/cacheServerStart.sh -i inst.rio_umb_cache_server_1
${RIO_CACHESERVER_BIN}/cacheServerStart.sh -i inst.rio_umb_cache_server_2
${RIO_CACHESERVER_BIN}/cacheServerStop.sh -i inst.rio_umb_cache_server_1
${RIO_CACHESERVER_BIN}/cacheServerStop.sh -i inst.rio_umb_cache_server_2 -s Y
Yume cache server:
${RIO_CACHESERVER_BIN}/cacheServerStart.sh -i inst.rio_yume_cache_server_1
${RIO_CACHESERVER_BIN}/cacheServerStop.sh -i inst.rio_yume_cache_server_1
Connect by gfsh:
dev:
sh /global/ocean/data/rio/nextgen/rio_cacheserver/current/bin/gfsh.sh
connect --locator=oceanap01d.nam.nsroot.net[10334] --user=superUser --password=superUser123
connect --locator=oceanap02d.nam.nsroot.net[10344] --user=superUser --password=superUser123
Gfsh command
// list cluster info
list members
list regions
list indexes
// list details
describe config --member=inst.rio_umb_cache_server_1
describe member --name=inst.rio_umb_cache_server_1
describe region --name=/publisher
describe offline-disk-store --name=ds1 \
--disk-dirs=/global/ocean/data/ocean/data/common/common/rio_cacheserver/inst.rio_umb_cache_server_1/ds1
status locator --name=umb_cache_locator_1
status server --name=inst.rio_umb_cache_server_1
show log --member=inst.rio_umb_cache_server_1
show metrics --member=inst.rio_umb_cache_server_1
show missing-disk-stores
# backup disk store
backup disk-store --dir=/export/fileServerDirectory/gemfireBackupLocation
# increase backup
backup disk-store --dir=/export/fileServerDirectory/gemfireBackupLocation
--baseline-dir=/export/fileServerDirectory/gemfireBackupLocation/2019-10-01-12-30
# deploy jars
deploy --group=umb --jars=../client/build/libs/rio-gemfire-client-1.0-SNAPSHOT.jar
undeploy --jars=rio-gemfire-client-1.0-SNAPSHOT.jar
# region snapshot export & import
export data --parallel --region=/publisher --dir=region1_2019_10_10 --member=umb_server1
import data --region=/publisher --file=FileName.gfd --member=umb_server1
# query & crud
query --query="SELECT * from /publisher where data['dataSources']['UMB_DEV'].containsKey('161090-RIO_UMB_SYNC-001')"
get --key=('id':'133abg124') --region=region1
put --key=('id':'133abg125') --value=('firstname':'James','lastname':'Gosling') \
--region=/region1 --key-class=data.ProfileKey --value-class=data.ProfileDetails
remove --region=/region1 --key=('id': '133abg134')
# echo
echo --string=${SYS_USER}
echo --string=${SYS_CLASSPATH}
echo --string=${APP_FETCH_SIZE}
# debug
debug --state=on
# change
change loglevel --loglevel=DEBUG --members=server1
change loglevel --loglevel=DEBUG --groups=umb
# alter
alter region --name=region1 --region-idle-time-expiration-action=invalidate [-group=all]
alter runtime --lru-action=overflow-to-disk
# export
export config --members=member1
export logs --dir=data/logs --file-size-limit=1k --members=server1
export stack-traces --file=stack.txt
export offline-disk-store --name=DiskStore1 \
--disk-dirs=/home/username/gemfire/mydiskStore1Dir --dir=/home/username/gemfire/export
# cqs
list durable-cqs --durable-client-id=client1
create async-event-queue --id=myAEQ --listener=myApp.myListener
create index --name=myKeyIndex --expression=region1.Id --region=region1 --type=key
define index --name=myIndex1 --expression=exp1 --region=/exampleRegion
define index --name=myIndex2 --expression="c.exp2" --region="/exampleRegion e, e.collection1 c"
define index --name=myIndex3 --expression=exp3 --region=/exampleRegion --type=hash
create defined indexes
show missing-disk-stores
revoke missing-disk-store --id=value
rebalance --include-region=/region3 --simulate=true
author: hw83770
date: 2020-01-07
OQL guide
data class:
public class Country implements Declarable {
String name;
String capitol;
Set<String> languages;
Map<String, String> province;
int population;
public boolean isBigCountry(){
return population > 100000 && province.size() > 20;
}
}
region data structure: Region<String, Country>
regionCountry.put(country.getName(), country)
---
OQL:
debug:
<TRACE> select * from /Country
list keys:
select * from /Country.keys
select * from /Country.keySet
SELECT key, langs FROM /Country.entrySet entry, entry.value.languages langs WHERE langs.size > 3
invoke java method:
select * from /Country c where c.capitol.equalsIgnoreCase('portland')
select * from /Country c where c.isBigCountry
comments:
SELECT * FROM /exampleRegion /* here is a comment */ WHERE status = 'active'
MIN, MAX, AVG, AVG, count Function:
SELECT count(e) FROM /Country e WHERE e.population > 10
-- sales should evaluate to java.lang.Number and java.lang.Comparable
the same result:
SELECT DISTINCT * FROM /Country p WHERE p.name = '1'
SELECT DISTINCT * FROM /Country p WHERE p.Name = '1'
SELECT DISTINCT * FROM /Country p WHERE p.getName() = '1'
like:
SELECT * FROM /Country p WHERE p.name LIKE 'china'
IN and SET:
SELECT * FROM /Country WHERE languages = set('eng','chinese','jap')
SELECT * FROM /Country WHERE languages.containsAll(set('eng','chinese','jap'))
SELECT name, capitol FROM /Country WHERE name IN (SELECT id FROM /portfolios WHERE status = 'active')
Map:
SELECT entry.key, entry.value FROM /Country.entries entry WHERE entry['name'] = 'china'
SELECT entry.key, entry.value FROM /Country.entries entry WHERE entry.province['name'] = 'shanghai'
Map and Array:
SELECT * FROM /exampleRegion p WHERE p.collectionHolderMap.get('1').arr[0] = '0'
--- advance query
AS:`
SELECT DISTINCT key.ID, key.status AS st FROM /exampleRegion.keys key
WHERE key.status = 'inactive' ORDER BY key.status desc, key.ID LIMIT 1
Join:
SELECT portfolio1.ID, portfolio2.status FROM /exampleRegion portfolio1, /exampleRegion2 portfolio2
WHERE portfolio1.status = portfolio2.status
useing TRUE:
SELECT DISTINCT * FROM /Portfolios WHERE TRUE
Using IMPORT and Using TYPE:
IMPORT package.Position;
SELECT DISTINCT * FROM /exampleRegion, positions.values positions TYPE Position WHERE positions.mktValue >= 25.00
Using ELEMENT
ELEMENT(SELECT DISTINCT * FROM /exampleRegion WHERE id = 'XYZ-1').status = 'active'
Using parameters query:
String queryString = "SELECT DISTINCT * FROM /exampleRegion p WHERE p.status = $1";
Query query = queryService.newQuery(queryString);
Object[] params = new Object[1];
params[0] = "active";
SelectResults results = (SelectResults) query.execute(params);