This repository has been archived by the owner on Jun 16, 2023. It is now read-only.
Merge for Apache
Pre-release
Pre-release
longdafeng
released this
05 Aug 12:57
·
243 commits
to master
since this release
Release 2.0.4-SNAPSHOT
New features
- Redesign Metric/Monitor system, new RollingWindow/Metrics/NettyMetrics, all data will send/recv through thrift
- Redesign Web-UI, the new Web-UI code is clear and clean
- Add NimbusCache Layer, using RocksDB and TimeCacheWindow
- Refactoring all ZK structure and ZK operation
- Refactoring all thrift structure
- Merge jstorm-client/jstorm-client-extension/jstorm-core 3 modules into jstorm-core
- Set the dependency version same as storm
- Sync apache-storm-0.10.0-beta1 all java code
- Switch log system to logback
- Upgrade thrift to apache thrift 0.9.2
- Performance tuning Huge topology more than 600 workers or 2000 tasks
- Require jdk7 or higher
Release 0.9.7.1
New Features
- Batch the tuples whose target task is same, before sending out(task.batch.tuple=true,task.msg.batch.size=4).
- LocalFirst grouping is updated. If all local tasks are busy, the tasks of outside nodes will be chosen as target task instead of waiting on the busy local task.
- Support user to reload the application config when topology is running.
- Support user to define the task heartbeat timeout and task cleanup timeout for topology.
- Update the wait strategy of disruptor queue to no-blocking mode "TimeoutBlockingWaitStrategy"
- Support user to define the timeout of discarding messages that are pending for a long time in netty buffer.
- Update the message processing structure. The virtualPortDispatch and drainer thread are removed to reduce the unnecessary cost of cpu and the transmitting of tuples
- Add jstorm parameter "--include-jars" when submit topology, add these jar to classpath
- Nimbus or Supervisor suicide when the local ip is 127.0.0.0
- Add user-define-scheduler example
- Merge Supervisor's syncSupervisor and syncProcess
Bug Fix
- Improve the GC setting.
- Fix the bug that task heartbeat might not be updated timely in some scenarioes.
- Fix the bug that the reconnection operation might be stick for a unexpected period when the connection to remote worker is shutdown and some messages are buffer in netty.
- Reuse thrift client when submit topology
- Avoid repeatedly download binary when failed to start worker.
Changed setting
- Change task's heartbeat timeout to 4 minutes
- Set the netty client thread pool(clientScheduleService) size as 5
Deploy and scripts
- Improve cleandisk.sh, avoid delete current directory and /tmp/hsperfdata_admin
- Add executable attribute for the script under example
- Add parameter to stat.sh, which can be used to start supervisor or not. This is useful under virtual
Release 0.9.7
New Features
- Support dynamic scale-out/scale-in of worker, spout, bolt or acker without stopping the service of topology.
- When enable cgroup, Support the upper limit control of cpu core usage. Default setting is 3 cpu cores.
- Update the mechanism of task heartbeats to make heartbeat to track the status of spout/bolt execute thread correctly.
- Support to add jstorm prefix info(clusterName, topologyName, ip:port, componentName, taskId, taskIndex) for worker/task log
- Check the heartbeat of supervisor when topology assignment to ensure no worker will be assigned into a dead supervisor
- Add api to query the task/worker's metric info, e.g. load status of task queue, worker cpu usage, worker mem usage...
- Try to re-download jars when staring worker fails several times to avoid potential corruption of jars
- Add Nimbus ZK cache, accelerate nimbus read zk
- Add thrift api getVersion, it will be used check between the client jstorm version and the server jstorm version.
- Update the metrics' structure to Alimonitor
- Add exclude-jar parameter into jstorm.py, which avoid class conflict when submit topology
Bug Fix
- Fix the no response problem of supervisor process when subimtting big amout topologys in a short time
- When submitting two or more topologys at the same time, the later one might be failed.
- TickTuple does not need to be acked. Fix the incorrect count of failure message.
- Fix the potential incorrect assignment when use.old.assignment=true
- Fix failed to remove some zk nodes when kill topology
- Fix failed to restart topology, when nimbus do assignment job.
- Fix NPE when register metrics
- Fix failed to read ZK monitor znode through zktool
- Fix exception when enable classload and local mode
- Fix duplicate log when enable user-defined logback in local mode
Changed Setting
- Set Nimbus jvm memory size as 4G
- Set hearbeat from supervisor to nimbus timeout from 60s to 180s
- In order to avoid OOM, set storm.messaging.netty.max.pending as 4
- Set task queue size as 1024, worker's total send/receive queue size as 2048
Deploy and scripts
- Add rpm build spec
- Add deploy files of jstorm for rpm package building
- Enable the cleandisk cronjob every hour, reserve coredump for only one hour.