Jocko Versions Save

Kafka implemented in Golang with built-in coordination (No ZK dep, single binary install, Cloud Native)

0.0.1

6 years ago

Changelog

c4bdec8 add goreleaser a4a403e Merge pull request #77 from travisjeffery/tests 37c8608 rm comment 89f2b7c broker: test add leader and isr new partition 61bbdbf broker: test shutdown be0ab37 fix sarama example to continue if topic already exists e9ca7e6 rm line leftover (fix #75) 98c4593 server: test join bad request 74e1fe2 add docs 7c5ba89 split out prometheus pkg dd1803f server: test join e498a89 broker: test fetch 6045c3a broker: test metadata f929635 broker: test offsets 790c1e9 broker: test deleting topic c66e9ed broker: test creating topic with invalid replication factor 6bdf05a broker: test produce unknown topic/partition 32b1cf1 broker: test produce 0ae4b66 fix readme 9925fa8 readme: add project layout (#71) 82db271 docs and codecov (#70) 6553b9a fixes for #68 29e8f02 broker tests (#68) 5463e2a broker/test: put request/response in args f2cd1fc broker: rm handle tests - should be tested via Run() tests 93bed6a broker: fix test log dir 98f0107 broker: test api versions 71d0b58 broker: test Join() b52d7dd broker: test New() b89b3d6 Merge pull request #65 from edkellena/master cf500bd fix the docker-compose file to spin up an example cluster. closes #64 8b4c40a cmd: fix parsing --debug flag 7f71492 rename create partition cmd b68cd2b rename pointer 6e78979 broker: test create replica 7a01fa4 broker: test cluster member 83a67cb broker: test create partition 993ed5f broker: test partition 916dbfb broker: test cluster members b3ee3c6 rename mock pkg 67d809b broker: test is controller da7782b add tests stubs, test topics() and topicPartitions() 0ef268d add mocks for raft and serf 84d27a9 fix msg a1f6c88 add jocko create topic cmd 36f488f privatize most the broker apis, follow up to the refactor 02a1063 cleanup e738825 broker: simplify run eab1e08 Merge pull request #62 from travisjeffery/fix-listeners c1603ab serf: fix pointer names 4e49c78 docker: update compose image 1bd95e9 add listener for http (fix #60) d116f9b refactor write ade5ff4 Update readme and Dockerfile with Prometheus address (#59) 83c6e61 Merge pull request #61 from travisjeffery/server-broker-refactor e0363fe Refactor server and broker 94c4f20 add err map 2cbf11c update readme 28c5a83 fix docker-compose 3fe5a80 Merge pull request #57 from travisjeffery/docker 86e3094 example: update args b89f90d docker/compose: give cluster 3 nodes, update args 6af135d docker: update for dep and use makefile 960d403 add Dockerfile, docker-compose.yml. updated examples/cluster documentation closes #49 565363f Fix travis-ci f964a59 govendor -> dep f1ceba1 always expose metrics 5aa4d9b Added Prometheus client and exposed number of requests handled (#55) 36414d5 cli: improve logs 7689523 Refactor cli (#54) 8562803 make broker use protocol.error consistently 5b076d5 use protocol.error 1ad1648 fix lock use 49dd62f add protocol.Error 42513a8 add some more docs 19e71e4 fix example baf2c05 create topic: support setting replication factor 636eecc cmd/createtopic: better logging 4d12fcd Fix metadata response (fix #47) 91740c3 add all error codes 8f45c6d broker: update test to compare contents rather than pointer 4276643 server: mv file 1fe8536 broker: better func name 027b58e rename proxy as client 2b34f68 server/test: close conn to create topic after creating topic 4828840 make: add separate test target w/o race f48e12f server: better req handling e7c94f6 server: better logs a2fd23a lowercase logs 6343bdf broker: add docs for opts e543f9a protocol: replace api iota with values 34c3fde Added APIVersions handler Solved bug in SetupIndex function that prevents the index to be set up 54ea894 fix style/api names 92020b0 Fix peer logging format in serf (#31) 06afc24 add more docs, clean up fn names 075f73b remove extraneous methods 8394c6b Move leadership from broker to raft (#36) 03a7547 rewrite serf tests without broker 7d43f27 stop accepting connections after server shutdown 0ceb188 expose replicator, rewrite replicator test w/ mocks 55bd7bb reduce commitlog interface f80578b commitlog: add benchmark test 6474f62 createtopic: default number of partitions to 1 537fe9e vendor: bump sarama for tests 4e81b6d add benchmark test cf9551c rename clients 25f1554 change partition conn when leader changes 824b34c added proxy for sending requests to server f4c1a63 rm docker-compose.yml 6f4a7f6 add docker-compose for benchmarking against kafka 8a703c9 add lock around creating commitlog/partition e585d27 make: add -race to test target (#27) 54f6616 raft: rename var 90cbc99 separate raft fsm from broker 4dd4d70 seprate serf, make raft interface using broker a61b698 add cmd/createtopic 03079b3 server: just use sarama for the tests rather than directly using the commit log/connections 8ac530a protocol: add doc, fix name of api versions key a6d6e4a broker: clean up serf tests 06a1a9c mv jocko to be top level pkg 9ffedd8 rename brokerconn to clustermember 27056b7 use serf const reap status 65595df hide serf and raft from broker 8145ad3 extract serf and raft pkgs from broker 2ce0047 add var for leader id fee05bf fix replica assignment 4c84f56 fix sarama example (close #26) fa68ab6 server: rm the server test's data dir only! (close #24) b2996a6 Merge branch 'cmdargs' 3a9bad8 update example e67a336 fix brokeraddr arg 0d9e74b make args consistent (fix #21) 25a0bb7 server: add sarama test 3b65289 server: put tests in own pkg 92c6260 Merge branch 'klavs-master' 49a12da keep protocol and commitlog separate 74e190e remove commitlog dependecy on protocol 5d5abbe rm binary (fix #18) 2d43357 use /... to prevent go get from complaining cdcf1cb Fix cmd/jocko/main.go 0bd2f7f Fix Cluster creation 67f2dce Fix setting Port 1847dc4 Standardize self-referrer in broker.go 25b3cdf Make Travis CI badge clickable 3bf02b3 clean up examples 5a63de5 check errs on serf bootstrap e4d0269 use kingpin's Strings flag (#10) cd63854 actually use the serf members list 4b82fae intial commit 55577b7 Config bind addresses from command line, and allow serf memberlist to be configured 3dbfe17 leader and isr: handle when partition doesn't exist yet b1fe2ec rename fn 42ca154 make replicator private and args consistent d638c4a clean up option apis 4916a05 readme: add reading 2f25f4f separate raft and serf some more 38da9d1 index: remove existing test since indexes are rebuilt 4ed2c4a add license 6523f47 Update README.md 9e9dd23 add makefile c9f8a40 update readme 70d6475 add rest of serf implementation e21072b travis: run tests serially 3002c82 add serf event handling to add/remove brokers 48fb383 add initial serf calls 180154f update readme f02f278 Add Gitter badge 1408532 add replication manager (#3) ac25989 add err checks 6ebb5ce protocol: fix isr leader request 6c88901 add replicator options 5c4a38b add broker options bd29860 refactor d0a4ecf protocol: fix replicas on leader and isr request 7cb979b remove naked returns (#7) 5bb50a1 protocol: add bool encoder/decoder (#7) b4176fe 1. add stop replica protocol 2. add const api key variable 6ff11be replication: truncate to hw when restarting to replicate 9dccfcf protocol: add leader and isr request/response c00ca30 add var for corrupt index err 36a5977 add sanity check for indexes (close #6) fc5b1ae rename index.offset -> position since its the byte position/offset to not confuse with a message offset b9ddd2c update contributing 6a5d11f rename var 50e7538 update contributing 8e45211 add CONTRIBUTING.md 44f3120 process errors for create data directory (#4) 01ccf60 be able to pass in replica id for fetch requests a98f5b2 add log cleaner 154ba08 commitlog: fix position of 1st entry 56a588b commitlog: add .TruncateTo(offset) (#3) 128fab4 clean up call f58630a add doc f742237 broker: check err 222cc90 replicator: fail fast when something goes wrong during replication 22b8a88 replicator: make client id descriptive 18c4e94 update readme bea38ac test: run server on another port so tests ran in parallel don't conflict 44c0edf update vendor 6c206d0 git: ignore vendor 8959492 tests: specify dir for logs 0e5ab15 fix test faa99c4 start on partition replicator 53ac606 hold references to brokers for host addrs, not just ids 1f03ae5 server: don't panic when serve fails 1ac1e3f example: separate client and jocko setup b21d0a6 add message, message set protocols cf5df62 add vendor 9a8906d add rest of group protocols 6266e97 add join group request/response 555414c check err f201be8 fix typo (close #2) 7fd8038 update readme 40df661 add godeps ee78e52 add ci 6923c1e change test addr 3255abb add err for topic created already aa2b36d add index rebuilding 0083695 add note about creating topic 70b7628 example: use broker api to create topic 031de7d remove some unused apis 25120ea add docs to example effb7b8 add example ca770ad fix some concurrency issues c0719ab add flag to enable debug logs 39bf869 update readme 837c9eb add topic deletes 555c0e4 implement baseoffset for produce response 7604435 remove logs 6c3d374 use better var names and add err checks 3871074 produce request: check all errors 6469b55 add highwatermark to fetch response 24abb98 make newest offset public and add oldest offset for offsets api 70f7d43 segment message set offset on write 309c097 clean up server logging 050dd3f add acks to produce request 46c56ea make segment writes threadsafe d7876bb brokers need both tcp and raft addrs 1c4fd92 support version 1 fetch request 55a533e add throttle time to produce response c630499 add offsets api 4d8cf0a produce: support acks 59ab629 update for api change 7b1daac use ints for ids 6c3066c fix server test 51c436d improve consensus test 54fbf5f add protocol to readme f6a86bf remove unused http stuff e3539fc add fetch request/response bbbed4a add produce request/response 651b725 add support for metadata request/response 21cceee update readme 3e1c83d implement protocol for create topics request/response b193f7e remove client cb07073 move protocol into its own pkg 08da003 start on decoding protocol d45bcd6 add client metadata api aedbf89 rename store to broker 39a5cb5 use bytes buffer/copy d7526c8 add max wait time support to fetch api a698dee update readme ea2e890 add fetch api 4d30e5c fix read to handle byte slices with various sizes 0423e40 update commitlog to read and write messagesets ee2f1ad add api to get each msg from msg set aa49997 add message, message set 84fe73b check that broker is leader on produce cf4038f add api to append messages b7d1367 add api to create topics 89196da use raft for partition consensus af87a57 add types for metadata 9f0cb7f add .gitignore 4b0aa1d add store f0c4e52 add server tests 7173665 remove main ca8623c add cluster 33dc011 add server 5109016 Update README.md 659c223 update readme 85692c8 update readme 3fd013b add partition 95c9c4d fix test to fail if write isn't ok 95b359f fix indexes to store relative offsets 7c3b7c7 move find entry to segment 93eca0a add clients to todos 433fad4 rename fba2b8a update readme e00d34b fix reading non-zero offsets of different segments 4885e5b add working index b106408 rename cfc462a able to read and write across segments 37146b3 add readme feeb19d add commit log 9f5b28e Just allow 1 log dir for now cf17240 Initial commit


Automated with GoReleaser Built with go version go1.9.2 darwin/amd64