部署docker-go智能合约时报错trying to send message larger than max
【问题分类】
- 智能合约相关
【问题描述】
长安链V2.2.1环境,采用cmc部署docker-go实例合约“contract_fact”时报错。报错信息如下:
Error: send INVOKE_CONTRACT failed, client.call failed, rpc error: code = ResourceExhausted desc = trying to send message larger than max (6153961 vs. 4194304)在chainmaker.yml配置了docker vm如下:
vm:
  # Enable docker go virtual machine
  enable_dockervm: true
  # Mount point in chainmaker
  dockervm_mount_path: ../data/ljh-org1.qianjinlian.com/docker-go
  # Specify log file path
  dockervm_log_path: ../log/ljh-org1.qianjinlian.com/docker-go
  # Whether to print log at terminal
  log_in_console: false
  # Log level
  log_level: INFO
  # Unix domain socket open, used for chainmaker and docker manager communication
  uds_open: true
  # docker vm contract service host, default 127.0.0.1
  docker_vm_host: 127.0.0.1
  # docker vm contract service port, default 22351
  docker_vm_port: 22351
  # Grpc max send message size, Default size is 4, Unit: MB
  max_send_msg_size: 20
  # Grpc max receive message size, Default size is 4, Unit: MB
  max_recv_msg_size: 20
  # max number of connection created to connect docker vm service
  max_connection: 5在start.sh脚本中配置DOCKERVM环境变量如下:
  echo "start docker vm service container:"
  docker run -itd \
    -e ENV_LOG_IN_CONSOLE="$log_in_console" -e ENV_LOG_LEVEL="$log_level" -e ENV_ENABLE_UDS=true \
    -e ENV_USER_NUM=1000 -e ENV_MAX_CONCURRENCY=100 -e ENV_TX_TIME_LIMIT=8 \
    -e ENV_MAX_SEND_MSG_SIZE=20 -e ENV_MAX_RECV_MSG_SIZE=20 \
    -v "$mount_path":/mount \
    -v "$log_path":/log \
    --name DOCKERVM-ljh-org2.qianjinlian.com \
    --privileged $image_name
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
 
