Skip to content

Develop Tips

drougon edited this page Feb 5, 2020 · 10 revisions

Git

eggroll_meta.h2.mv.db is a template file, Just checkout it but do not update it if there is no table schema changes.
Execute the command in your root project directory:

git update-index --assume-unchanged ./data/meta_h2/eggroll_meta.h2.mv.db

Or you want to commit anyway

git update-index --no-assume-unchanged ./data/meta_h2/eggroll_meta.h2.mv.db

How to Debug

Run multiple servers in one java process

Main class: com.webank.eggroll.core.Bootstrap
VM Options:

for mac/linux os

-cp ./jvm/roll_pair/target/classes:./jvm/core/target/classes:./jvm/roll_pair/target/lib/*:./jvm/core/target/lib/* -Dlog4j.configurationFile=./conf/log4j2.properties

for windows os

-cp ./jvm/roll_pair/target/classes;./jvm/core/target/classes;./jvm/roll_pair/target/lib/*;./jvm/core/target/lib/* -Dlog4j.configurationFile=./conf/log4j2.properties

Program arguments: --config conf/eggroll.properties --bootstraps com.webank.eggroll.core.resourcemanager.ClusterManagerBootstrap,com.webank.eggroll.core.resourcemanager.NodeManagerBootstrap,com.webank.eggroll.rollpair.RollPairMasterBootstrap -s testing -p 4670 --ignore-rebind
Working Directory: [Your root project directory]

python egg_pair.py

Script path: python/eggroll/roll_pair/egg_pair.py
Parameters: -s testing -p 20001 -t 20002 -c conf/eggroll.properties

Execute sql

java -cp :lib/* com.webank.eggroll.core.util.JdbcTemplate "jdbc:h2:./data/meta_h2/eggroll_meta.h2;AUTO_SERVER=TRUE;MODE=MySQL;DATABASE_TO_LOWER=TRUE;SCHEMA=eggroll_meta;" "select * from server_node"