MapReduce 实现

March / 2 / 2020

MapReduce 可以说是分布式系统(Distributed Systems)里面比较经典的一个模型了。MIT 6.824 2020 spring 课程开更了,借这个机会来做一些相关的代码实现。本文代码实现需求主要参考 Lab1 MapReduce 手册(例如容错要求等)

MIT 6.824 是什么:

6.824 is a core 12-unit graduate subject with lectures, readings, programming labs, an optional project, a mid-term exam, and a final exam. It will present abstractions and implementation techniques for engineering distributed systems. Major topics include fault tolerance, replication, and consistency. Much of the class consists of studying and discussing case studies of distributed systems.

ref:https://pdos.csail.mit.edu/6.824/

Lab1 MapReduce 手册: https://pdos.csail.mit.edu/6.824/labs/lab-mr.html

Paper 论文: MapReduce Paper

代码仓库: https://github.com/WenyXu/6.824-golabs

Execution overview 

image.png

理解 MapReduce 

举一个最简单的例子来理解 MapReduce,一个字数统计的例子(Word Count)

Make America Great Again
Make China Great Again

通过我们的 Map function (worker) 把其中的内容处理并映射(Map)键值对(key/value pairs) Word Count Map func

func Map(filename string, contents string) []mr.KeyValue {
// function to detect word separators.
ff := func(r rune) bool { return !unicode.IsLetter(r) }
// split contents into an array of words.
words := strings.FieldsFunc(contents, ff)
kva := []mr.KeyValue{}
for _, w := range words {
kv := mr.KeyValue{w, "1"}
kva = append(kva, kv)
}
return kva
}
{
"key": "Make",
"value": 1
}
{
"key": "Make",
"value": 1
}
{
"key": "Great",
"value": 1
}
{
"key": "Great",
"value": 1
}
{
"key": "America",
"value": 1
}
{
"key": "China",
"value": 1
}
...

然后再通过 Reduce function (worker) 把拥有相同键(Key)归纳(Reduce)起来,得到输出结果。例子中的 Reduce  Word Count Reduce func 

func Reduce(key string, values []string) string {
// return the number of occurrences of this word.
return strconv.Itoa(len(values))
}
America 1
China 1
Great 2
Make 2
...

容错 Fault Tolerance

  • Worker Failure
    • Map 容错
      • crash
      • ~~I/O timeout ~~
    • Reduce 容错
      • crash
      • I/O timeout
  • Master Failure 不考虑

I/O timeout 需要说明一下,IO timeout 这个情况在极少数情况下可以碰到,确实是一个非常极端边缘情况。例如处理 Map Worker IO timeout 的情况,这里分享一下我关于这个问题的一些思考(解决方案)。每一个 [Map Worker] 的中间临时文件(intermediate temporary files)命名为 tmp-[worker-uuid]-[reduce-X'th],当该 [Map Worker] 执行完毕时,通知[Master] 并告知 Worker UUID。当 [X'th Reduce Worker] 执行的时,读取所有 tmp-[all-successed-worker-uuid-*]-[reduce-X'th] 文件并执行reduce。Reduce IO timeout 其实可以不用考虑,Reduce 写入量比 Map 少得多。

代码实现

代码其实并不多,Master + Worker 不到 800 行代码。

实现思路: 主要是做一个状态(Status)的同步,Worker 根据同步过来的状态(Status)做出相应的调整 Master 维护 TodoTasks 切片(Slice)和 ActiveWorker 集合(Map) Worker 做一个轮询,同步 Master 和 Worker 一个状态(Status)

譬如 [Worker] idle 状态,向 [Master] 请求(request)更新状态(Status),如果 [Master] 有可指派任务(Task),将当前 [Worker] 加入到 ActiveWorker 中,并从 TodoTasks 中移除指派了的任务(Task),返回给 [Worker] 。[Worker]得到相应(response)后根据同步后的信息执行任务或者 Timeout 释放进程。

不再过多赘述,上核心代码。

src/mr/Master.go

package mr
import (
"errors"
"log"
"strconv"
"sync"
"time"
)
import "net"
import "os"
import "net/rpc"
import "net/http"
type Master struct {
// Your definitions here.
Initialized bool
activeWorkers map[string]*worker
todoTasks []task
mapWorkers int
reduceWorkers int
mapTasks int
reduceTasks int
nReduce int
mu sync.RWMutex
}
// Your code here -- RPC handlers for the Worker to call.
func (m *Master) Init(files []string, nReduce int) {
//Initialize variables
m.activeWorkers = map[string]*worker{}
m.todoTasks=[]task{}
m.nReduce=nReduce
m.InitStatus()
m.CreateLocalFiles(files,nReduce)
m.Initialized=true
}
func (m *Master) AddTask2TodoByStrings(action string,files ...string) {
var tasks []task
for _,file:=range files {
tasks=append(tasks,task{
Action: action,
File: file,
})
}
log.Printf("add tasks %s",tasks)
//Add tasks to todoTasks
m.mu.Lock()
switch action {
case "map":
m.todoTasks=append(tasks,m.todoTasks...)
break
case "reduce":
m.todoTasks=append(m.todoTasks,tasks...)
break
}
m.mu.Unlock()
log.Printf("tasks: %s",m.todoTasks)
// Todo : any other good solutions
m.UpdateStatus()
}
func (m *Master) UpdateStatus(){
go func() {
m.InitStatus()
m.mu.Lock()
for _,w:=range m.activeWorkers{
if w.Task !=nil{
switch w.Task.Action {
case "map":
m.mapWorkers+=1
break
case "reduce":
m.reduceWorkers+=1
break
}
}
}
for _,t:=range m.todoTasks{
switch t.Action {
case "map":
m.mapTasks+=1
break
case "reduce":
m.reduceTasks+=1
break
}
}
m.mu.Unlock()
//log.Printf("[Master] Map Workers %d,Map Todo Tasks %d,Reduce Workers %d,Reduce Todo Tasks %d",
// m.mapWorkers,m.mapTasks,m.reduceWorkers,m.reduceTasks)
}()
}
func (m *Master) InitStatus() {
m.mu.Lock()
m.mapTasks=0
m.mapWorkers=0
m.reduceTasks=0
m.reduceWorkers=0
m.mu.Unlock()
}
func (m *Master) CreateLocalFiles(files []string, nReduce int) {
var tmpMaps []string
for i := 0;i != nReduce; i++ {
output :="mr-out-"+strconv.Itoa(i+1)
tmpMap :="mr-tmp-map-"+strconv.Itoa(i+1)
tmpMaps=append(tmpMaps,tmpMap)
// Create File
if _,e:=os.Create(output);e!=nil{
log.Printf("[Master] Create [%s] File Success",output)
}
if _,e:=os.Create(tmpMap);e!=nil{
log.Printf("[Master] Create [%s] File Success",tmpMap)
}
}
// Add tasks to TodoTask
m.AddTask2TodoByStrings("map",files...)
m.AddTask2TodoByStrings("reduce",tmpMaps...)
}
//
// an example RPC handler.
//
// the RPC argument and reply types are defined in rpc.go.
//
func (m *Master) Auth(worker *worker) error {
if time.Now().After(worker.TaskTimeout) {
return errors.New("[Master] timeout ")
}
return nil
}
func (m *Master) RemoveWorker(worker *worker) {
m.mu.Lock()
if _,ok:=m.activeWorkers[worker.UUID];ok{
delete(m.activeWorkers,worker.UUID)
}
m.mu.Unlock()
m.UpdateStatus()
}
func (m *Master) RemoveTask(task *task) {
if task ==nil {
return
}
m.mu.Lock()
for i,t:=range m.todoTasks{
if t.File==task.File &&t.Action==task.Action{
log.Printf("[Master] Remove finished task")
m.todoTasks=append(m.todoTasks[0:i],m.todoTasks[i+1:]...)
}
}
m.mu.Unlock()
m.UpdateStatus()
}
func (m *Master) AddActiveWorkerAndAssignATask(currentWorker *worker) (NextWorker *worker) {
NextWorker=nil
m.mu.Lock()
if len(m.todoTasks)>0{
t:=m.todoTasks[0]
m.todoTasks=m.todoTasks[1:]
w:=worker{
UUID: currentWorker.UUID,
Status: "processing",
Task: &t,
TaskTimeout: time.Now().Add(time.Second*10),
}
m.activeWorkers[currentWorker.UUID]=&w
NextWorker=&w
}
m.mu.Unlock()
//update Status here
m.UpdateStatus()
return
}
func (m *Master) Sync(args *Args,reply *Reply) error{
switch args.Worker.Status {
case "idle":
//assign a mission to the Worker
reply.NextWorker=
m.AddActiveWorkerAndAssignATask(args.Worker)
break
case "processing":
//sync the Status only
if e:=m.Auth(args.Worker) ;e!=nil{
return e
}
break
case "done":
m.RemoveWorker(args.Worker)
m.RemoveTask(args.Worker.Task)
reply.NextWorker=&worker{
UUID: args.Worker.UUID,
Status: "idle",
TaskTimeout: time.Time{},
Task: nil,
}
break
}
//Sync the Status
reply.NReduce=m.nReduce
reply.IsMapFinished=false
reply.IsAllFinished=false
m.mu.Lock()
if m.mapTasks==0&&m.mapWorkers==0&&m.Initialized{
reply.IsMapFinished=true
}
if m.mapWorkers==0&&m.mapTasks==0&&m.reduceTasks==0&&m.reduceWorkers==0&&m.Initialized{
reply.IsAllFinished=true
}
m.mu.Unlock()
return nil
}
func (m *Master) Checker (){
go func() {
for{
log.Printf("[Master] [Checker] Map Workers %d,Map Todo Tasks %d,Reduce Workers %d,Reduce Todo Tasks %d",
m.mapWorkers,m.mapTasks,m.reduceWorkers,m.reduceTasks)
//find the timeout workers and remove them
m.mu.Lock()
for _,w:=range m.activeWorkers{
if time.Now().After(w.TaskTimeout){
log.Printf("[Master] remove timeout worker:%v",w)
go m.RemoveWorker(w)
go m.AddTask2TodoByStrings(w.Task.Action,w.Task.File)
}
}
m.mu.Unlock()
time.Sleep(time.Second)
}
}()
}
//
// start a thread that listens for RPCs from Worker.go
//
func (m *Master) server() {
rpc.Register(m)
rpc.HandleHTTP()
//l, e := net.Listen("tcp", ":1234")
sockname := masterSock()
os.Remove(sockname)
l, e := net.Listen("unix", sockname)
if e != nil {
log.Fatal("listen error:", e)
}
go http.Serve(l, nil)
}
//
// main/mrmaster.go calls Done() periodically to find out
// if the entire job has finished.
//
func (m *Master) Done() bool {
ret := false
if m.mapWorkers==0&&m.mapTasks==0&&m.reduceTasks==0&&m.reduceWorkers==0&&m.Initialized{
ret=true
}
// Your code here.
return ret
}
//
// create a Master.
// main/mrmaster.go calls this function.
// nReduce is the number of reduce tasks to use.
//
func MakeMaster(files []string, nReduce int) *Master {
m := Master{}
m.Init(files,nReduce)
m.Checker()
// Your code here.
m.server()
return &m
}

src/mr/Master.go

package mr
import (
"crypto/rand"
"encoding/json"
"fmt"
"io/ioutil"
"os"
"sort"
"strconv"
"sync"
"time"
)
import "log"
import "net/rpc"
import "hash/fnv"
type ByKey []KeyValue
// for sorting by key.
func (a ByKey) Len() int { return len(a) }
func (a ByKey) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
func (a ByKey) Less(i, j int) bool { return a[i].Key < a[j].Key }
type IJ struct {
I int
J int
}
//
// Map functions return a slice of KeyValue.
//
type KeyValue struct {
Key string
Value string
}
//
// use ihash(key) % NReduce to choose the reduce
// Task number for each KeyValue emitted by Map.
//
func ihash(key string) int {
h := fnv.New32a()
h.Write([]byte(key))
return int(h.Sum32() & 0x7fffffff)
}
var (
wg sync.WaitGroup
s =&service{}
)
type service struct {
currentWorker *worker
w chan *worker
NReduce int
IsMapFinished bool
IsAllFinished bool
mapf func(string, string) []KeyValue
reducef func(string, []string) string
}
func (s *service) Sync(){
if s.currentWorker==nil{
s.Reset()
return
}
args:=Args{Worker: s.currentWorker}
reply:=Reply{}
if !call("Master.Sync",&args,&reply) {
//s.Init(s.mapf,s.reducef)
os.Exit(0)
}
//Sync here
if reply.NextWorker==nil{
//log.Printf("Received a nil NextWorker")
}else {
s.currentWorker=reply.NextWorker
// a new mission here
s.w<-reply.NextWorker
}
s.NReduce=reply.NReduce
s.IsAllFinished=reply.IsAllFinished
s.IsMapFinished=reply.IsMapFinished
if reply.IsAllFinished{
wg.Done()
}
}
func (s *service) Reset() {
s.currentWorker.Status="idle"
s.currentWorker.Task=nil
s.currentWorker.TaskTimeout=time.Time{}
}
func (s *service) Init(mapf func(string, string) []KeyValue,
reducef func(string, []string) string) {
s.w=make(chan *worker)
s.currentWorker =&worker{
UUID: UUIDgen(),
Status: "idle",
Task: nil,
}
s.mapf=mapf
s.reducef=reducef
}
func (s *service) Reduce(){
t:=s.currentWorker.Task
var intermediate []KeyValue
intermediateFile,_:=os.Open(t.File)
dec := json.NewDecoder(intermediateFile)
for {
var kv KeyValue
if err := dec.Decode(&kv); err != nil {
break
}
intermediate = append(intermediate, kv)
}
sort.Sort(ByKey(intermediate))
// read the i.File
localCache:="[inter-tmp]"+t.File
file,err:=os.OpenFile(localCache,os.O_WRONLY|os.O_TRUNC, os.ModeAppend)
defer func(){ _ = file.Close() }()
ij:=IJ{}
if err!=nil && os.IsNotExist(err) {
file, _ = os.Create(localCache)
ij.I=0
ij.J=0
} else {
dec := json.NewDecoder(file)
_ = dec.Decode(&ij)
}
for ij.I<len(intermediate) {
enc:=json.NewEncoder(file)
_ = enc.Encode(&ij)
ij.J=ij.I+1
for ij.J < len(intermediate) && intermediate[ij.J].Key == intermediate[ij.I].Key {
ij.J++
}
var values []string
for k := ij.I; k < ij.J; k++ {
values = append(values, intermediate[k].Value)
}
output := s.reducef(intermediate[ij.I].Key, values)
s:="mr-out-"+strconv.Itoa(ihash(intermediate[ij.I].Key)%s.NReduce+1)
outputFile, err := os.OpenFile(s,os.O_APPEND|os.O_WRONLY, os.ModeAppend)
if err!=nil{
log.Print(err)
}
// this is the correct format for each line of Reduce Output.
_, e := fmt.Fprintf(outputFile, "%v %v\n", intermediate[ij.I].Key, output)
if e!=nil{
log.Print(e)
}
_ = outputFile.Close()
ij.I = ij.J
}
}
func (s *service) Map(){
t:=s.currentWorker.Task
file, err := os.Open(t.File)
if err != nil {
log.Fatalf("cannot open %v", file)
}
content, err := ioutil.ReadAll(file)
if err != nil {
log.Fatalf("cannot read %v", file)
}
_ = file.Close()
// if not crash here , everything will be ok
kva:=s.mapf(t.File,string(content))
// Todo: maybe there are some problems here,sometime will I/O caused the worker timeout
// Todo: you need to tell the master which intermediate files are success
// e.g mr-[worker-uuid]-[part-num]
// then the reduce func will read all files which has same [part-num]
for _, kv := range kva {
s:="mr-tmp-map-"+strconv.Itoa(ihash(kv.Key)% s.NReduce+1)
outputFile, err := os.OpenFile(s,os.O_APPEND|os.O_WRONLY, os.ModeAppend)
if err!=nil{
log.Print(err)
}
enc:=json.NewEncoder(outputFile)
e:= enc.Encode(&kv)
if e!=nil{
log.Print(e)
}
_ = outputFile.Close()
}
}
func (s *service) Schedule(){
go func() {
for {
s.Sync()
// deal with the Task
time.Sleep(time.Second)
}
}()
}
func UUIDgen() (uuid string){
// generate 32 bits timestamp
unix32bits := uint32(time.Now().UTC().Unix())
buff := make([]byte, 12)
numRead, err := rand.Read(buff)
if numRead != len(buff) || err != nil {
panic(err)
}
return fmt.Sprintf("%x-%x-%x-%x-%x-%x\n", unix32bits, buff[0:2], buff[2:4], buff[4:6], buff[6:8], buff[8:])
}
//
// main/mrworker.go calls this function.
//
func Worker(mapf func(string, string) []KeyValue,
reducef func(string, []string) string) {
// Your Worker implementation here.
s.Init(mapf,reducef)
wg.Add(1)
s.Schedule()
go func() {
for worker:=range s.w{
wg.Add(1)
if t:=worker.Task;t!=nil {
log.Printf("[Worker] Working with a %s Task using %s File",t.Action,t.File)
switch s.currentWorker.Task.Action {
case "map":
s.Map()
break
case "reduce":
for {
if !s.IsMapFinished {
log.Printf("[Worker] Waiting for map workers done")
time.Sleep(time.Second)
}else{
break
}
}
s.Reduce()
break
}
log.Printf("[Worker] Finished %s Task using %s File",t.Action,t.File)
s.currentWorker.Status="done"
}
wg.Done()
}
}()
wg.Wait()
// uncomment to send the Example RPC to the master.
// CallExample()
}
//
// example function to show how to make an RPC call to the master.
//
// the RPC argument and reply types are defined in rpc.go.
//
//
// send an RPC request to the master, wait for the response.
// usually returns true.
// returns false if something goes wrong.
//
func call(rpcname string, args interface{}, reply interface{}) bool {
// c, err := rpc.DialHTTP("tcp", "127.0.0.1"+":1234")
sockname := masterSock()
c, err := rpc.DialHTTP("unix", sockname)
if err != nil {
log.Fatal("dialing:", err)
}
defer c.Close()
err = c.Call(rpcname, args, reply)
if err == nil {
return true
}
fmt.Println(err)
return false
}

src/mr/rpc.go

package mr
//
// RPC definitions.
//
// remember to capitalize all names.
//
import (
"os"
"time"
)
import "strconv"
type worker struct {
UUID string
Status string
// tasks timeout
TaskTimeout time.Time
Task *task
}
type task struct {
Action string
File string
}
type Args struct {
Worker *worker
}
type Reply struct {
//Success bool
NReduce int
IsMapFinished bool
IsAllFinished bool
NextWorker *worker
}
// Add your RPC definitions here.
// Cook up a unique-ish UNIX-domain socket name
// in /var/tmp, for the master.
// Can't use the current directory since
// Athena AFS doesn't support UNIX-domain sockets.
func masterSock() string {
s := "/var/tmp/824-mr-"
s += strconv.Itoa(os.Getuid())
return s
}

测试

Lab1 MapReduce 手册里面其实给到了一个 test-mr.sh ,最后一个是 Worker 随机 crash 的一个测试,可以说非常好玩。大家实现 MapReduce 一定要跑一跑这个测试。

wenyxu@Wenys-MacBook-Pro ~/Projects/Golang/6.824-lab/src/main /bin/sh /Users/wenyxu/Projects/Golang/6.824-lab/src/main/test-mr.sh
*** Starting wc test.
2020/03/02 03:25:24 add tasks [{map ../pg-being_ernest.txt} {map ../pg-dorian_gray.txt} {map ../pg-frankenstein.txt} {map ../pg-grimm.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-metamorphosis.txt} {map ../pg-sherlock_holmes.txt} {map ../pg-tom_sawyer.txt}]
2020/03/02 03:25:24 tasks: [{map ../pg-being_ernest.txt} {map ../pg-dorian_gray.txt} {map ../pg-frankenstein.txt} {map ../pg-grimm.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-metamorphosis.txt} {map ../pg-sherlock_holmes.txt} {map ../pg-tom_sawyer.txt}]
2020/03/02 03:25:24 add tasks [{reduce mr-tmp-map-1} {reduce mr-tmp-map-2} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4} {reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10}]
2020/03/02 03:25:24 tasks: [{map ../pg-being_ernest.txt} {map ../pg-dorian_gray.txt} {map ../pg-frankenstein.txt} {map ../pg-grimm.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-metamorphosis.txt} {map ../pg-sherlock_holmes.txt} {map ../pg-tom_sawyer.txt} {reduce mr-tmp-map-1} {reduce mr-tmp-map-2} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4} {reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10}]
2020/03/02 03:25:24 rpc.Register: method "AddActiveWorkerAndAssignATask" has 2 input parameters; needs exactly three
2020/03/02 03:25:24 [Master] [Checker] Map Workers 0,Map Todo Tasks 8,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:24 rpc.Register: reply type of method "AddTask2TodoByStrings" is not a pointer: "[]string"
2020/03/02 03:25:24 rpc.Register: method "Auth" has 2 input parameters; needs exactly three
2020/03/02 03:25:24 rpc.Register: method "Checker" has 1 input parameters; needs exactly three
2020/03/02 03:25:24 rpc.Register: reply type of method "CreateLocalFiles" is not a pointer: "int"
2020/03/02 03:25:24 rpc.Register: method "Done" has 1 input parameters; needs exactly three
2020/03/02 03:25:24 rpc.Register: reply type of method "Init" is not a pointer: "int"
2020/03/02 03:25:24 rpc.Register: method "InitStatus" has 1 input parameters; needs exactly three
2020/03/02 03:25:24 rpc.Register: method "RemoveTask" has 2 input parameters; needs exactly three
2020/03/02 03:25:24 rpc.Register: method "RemoveWorker" has 2 input parameters; needs exactly three
2020/03/02 03:25:24 rpc.Register: method "UpdateStatus" has 1 input parameters; needs exactly three
2020/03/02 03:25:25 [Master] [Checker] Map Workers 0,Map Todo Tasks 8,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:25 [Worker] Working with a map Task using ../pg-frankenstein.txt File
2020/03/02 03:25:25 [Worker] Working with a map Task using ../pg-being_ernest.txt File
2020/03/02 03:25:25 [Worker] Working with a map Task using ../pg-dorian_gray.txt File
2020/03/02 03:25:26 [Master] [Checker] Map Workers 3,Map Todo Tasks 5,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:26 [Worker] Finished map Task using ../pg-being_ernest.txt File
2020/03/02 03:25:27 [Master] [Checker] Map Workers 3,Map Todo Tasks 5,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:28 [Master] [Checker] Map Workers 2,Map Todo Tasks 5,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:28 [Worker] Working with a map Task using ../pg-grimm.txt File
2020/03/02 03:25:29 [Master] [Checker] Map Workers 3,Map Todo Tasks 4,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:29 [Worker] Finished map Task using ../pg-frankenstein.txt File
2020/03/02 03:25:30 [Master] [Checker] Map Workers 3,Map Todo Tasks 4,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:30 [Worker] Finished map Task using ../pg-dorian_gray.txt File
2020/03/02 03:25:31 [Master] [Checker] Map Workers 2,Map Todo Tasks 4,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:31 [Worker] Working with a map Task using ../pg-huckleberry_finn.txt File
2020/03/02 03:25:32 [Master] [Checker] Map Workers 2,Map Todo Tasks 3,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:32 [Worker] Working with a map Task using ../pg-metamorphosis.txt File
2020/03/02 03:25:33 [Master] [Checker] Map Workers 3,Map Todo Tasks 2,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:33 [Worker] Finished map Task using ../pg-metamorphosis.txt File
2020/03/02 03:25:34 [Master] [Checker] Map Workers 3,Map Todo Tasks 2,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:34 [Worker] Finished map Task using ../pg-grimm.txt File
2020/03/02 03:25:35 [Master] [Checker] Map Workers 2,Map Todo Tasks 2,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:35 [Worker] Working with a map Task using ../pg-sherlock_holmes.txt File
2020/03/02 03:25:36 [Master] [Checker] Map Workers 2,Map Todo Tasks 1,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:36 [Worker] Working with a map Task using ../pg-tom_sawyer.txt File
2020/03/02 03:25:37 [Master] [Checker] Map Workers 3,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:37 [Worker] Finished map Task using ../pg-huckleberry_finn.txt File
2020/03/02 03:25:38 [Master] [Checker] Map Workers 3,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:39 [Master] [Checker] Map Workers 2,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:39 [Worker] Working with a reduce Task using mr-tmp-map-1 File
2020/03/02 03:25:39 [Worker] Waiting for map workers done
2020/03/02 03:25:40 [Master] [Checker] Map Workers 2,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 9
2020/03/02 03:25:40 [Worker] Waiting for map workers done
2020/03/02 03:25:40 [Worker] Finished map Task using ../pg-tom_sawyer.txt File
2020/03/02 03:25:41 [Master] [Checker] Map Workers 2,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 9
2020/03/02 03:25:41 [Worker] Waiting for map workers done
2020/03/02 03:25:41 [Worker] Finished map Task using ../pg-sherlock_holmes.txt File
2020/03/02 03:25:42 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 9
2020/03/02 03:25:42 [Worker] Waiting for map workers done
2020/03/02 03:25:42 [Worker] Working with a reduce Task using mr-tmp-map-2 File
2020/03/02 03:25:42 [Worker] Finished reduce Task using mr-tmp-map-2 File
2020/03/02 03:25:43 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 8
2020/03/02 03:25:43 [Worker] Working with a reduce Task using mr-tmp-map-3 File
2020/03/02 03:25:43 [Worker] Finished reduce Task using mr-tmp-map-1 File
2020/03/02 03:25:43 [Worker] Finished reduce Task using mr-tmp-map-3 File
2020/03/02 03:25:44 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 7
2020/03/02 03:25:44 [Worker] Working with a reduce Task using mr-tmp-map-4 File
2020/03/02 03:25:44 [Worker] Finished reduce Task using mr-tmp-map-4 File
2020/03/02 03:25:45 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 6
2020/03/02 03:25:45 [Worker] Working with a reduce Task using mr-tmp-map-5 File
2020/03/02 03:25:45 [Worker] Working with a reduce Task using mr-tmp-map-6 File
2020/03/02 03:25:45 [Worker] Finished reduce Task using mr-tmp-map-6 File
2020/03/02 03:25:45 [Worker] Finished reduce Task using mr-tmp-map-5 File
2020/03/02 03:25:46 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 4
2020/03/02 03:25:46 [Worker] Working with a reduce Task using mr-tmp-map-7 File
2020/03/02 03:25:46 [Worker] Finished reduce Task using mr-tmp-map-7 File
2020/03/02 03:25:47 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 3
2020/03/02 03:25:47 [Worker] Working with a reduce Task using mr-tmp-map-8 File
2020/03/02 03:25:47 [Worker] Working with a reduce Task using mr-tmp-map-9 File
2020/03/02 03:25:47 [Worker] Finished reduce Task using mr-tmp-map-8 File
2020/03/02 03:25:47 [Worker] Finished reduce Task using mr-tmp-map-9 File
2020/03/02 03:25:48 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 1
2020/03/02 03:25:48 [Worker] Working with a reduce Task using mr-tmp-map-10 File
2020/03/02 03:25:48 [Worker] Finished reduce Task using mr-tmp-map-10 File
2020/03/02 03:25:49 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 0
2020/03/02 03:25:50 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 0
2020/03/02 03:25:51 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 0
--- wc test: PASS
*** Starting indexer test.
2020/03/02 03:25:51 add tasks [{map ../pg-being_ernest.txt} {map ../pg-dorian_gray.txt} {map ../pg-frankenstein.txt} {map ../pg-grimm.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-metamorphosis.txt} {map ../pg-sherlock_holmes.txt} {map ../pg-tom_sawyer.txt}]
2020/03/02 03:25:51 tasks: [{map ../pg-being_ernest.txt} {map ../pg-dorian_gray.txt} {map ../pg-frankenstein.txt} {map ../pg-grimm.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-metamorphosis.txt} {map ../pg-sherlock_holmes.txt} {map ../pg-tom_sawyer.txt}]
2020/03/02 03:25:51 add tasks [{reduce mr-tmp-map-1} {reduce mr-tmp-map-2} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4} {reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10}]
2020/03/02 03:25:51 tasks: [{map ../pg-being_ernest.txt} {map ../pg-dorian_gray.txt} {map ../pg-frankenstein.txt} {map ../pg-grimm.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-metamorphosis.txt} {map ../pg-sherlock_holmes.txt} {map ../pg-tom_sawyer.txt} {reduce mr-tmp-map-1} {reduce mr-tmp-map-2} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4} {reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10}]
2020/03/02 03:25:51 rpc.Register: method "AddActiveWorkerAndAssignATask" has 2 input parameters; needs exactly three
2020/03/02 03:25:51 rpc.Register: reply type of method "AddTask2TodoByStrings" is not a pointer: "[]string"
2020/03/02 03:25:51 rpc.Register: method "Auth" has 2 input parameters; needs exactly three
2020/03/02 03:25:51 [Master] [Checker] Map Workers 0,Map Todo Tasks 8,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:51 rpc.Register: method "Checker" has 1 input parameters; needs exactly three
2020/03/02 03:25:51 rpc.Register: reply type of method "CreateLocalFiles" is not a pointer: "int"
2020/03/02 03:25:51 rpc.Register: method "Done" has 1 input parameters; needs exactly three
2020/03/02 03:25:51 rpc.Register: reply type of method "Init" is not a pointer: "int"
2020/03/02 03:25:51 rpc.Register: method "InitStatus" has 1 input parameters; needs exactly three
2020/03/02 03:25:51 rpc.Register: method "RemoveTask" has 2 input parameters; needs exactly three
2020/03/02 03:25:51 rpc.Register: method "RemoveWorker" has 2 input parameters; needs exactly three
2020/03/02 03:25:51 rpc.Register: method "UpdateStatus" has 1 input parameters; needs exactly three
2020/03/02 03:25:52 [Master] [Checker] Map Workers 0,Map Todo Tasks 8,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:52 [Worker] Working with a map Task using ../pg-dorian_gray.txt File
2020/03/02 03:25:52 [Worker] Working with a map Task using ../pg-being_ernest.txt File
2020/03/02 03:25:52 [Worker] Finished map Task using ../pg-being_ernest.txt File
2020/03/02 03:25:53 [Worker] Finished map Task using ../pg-dorian_gray.txt File
2020/03/02 03:25:53 [Master] [Checker] Map Workers 2,Map Todo Tasks 6,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:54 [Master] [Checker] Map Workers 0,Map Todo Tasks 6,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:54 [Worker] Working with a map Task using ../pg-frankenstein.txt File
2020/03/02 03:25:54 [Worker] Working with a map Task using ../pg-grimm.txt File
2020/03/02 03:25:55 [Worker] Finished map Task using ../pg-grimm.txt File
2020/03/02 03:25:55 [Worker] Finished map Task using ../pg-frankenstein.txt File
2020/03/02 03:25:55 [Master] [Checker] Map Workers 2,Map Todo Tasks 4,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:56 [Master] [Checker] Map Workers 0,Map Todo Tasks 4,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:56 [Worker] Working with a map Task using ../pg-metamorphosis.txt File
2020/03/02 03:25:56 [Worker] Working with a map Task using ../pg-huckleberry_finn.txt File
2020/03/02 03:25:56 [Worker] Finished map Task using ../pg-metamorphosis.txt File
2020/03/02 03:25:57 [Worker] Finished map Task using ../pg-huckleberry_finn.txt File
2020/03/02 03:25:57 [Master] [Checker] Map Workers 2,Map Todo Tasks 2,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:58 [Master] [Checker] Map Workers 0,Map Todo Tasks 2,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:25:58 [Worker] Working with a map Task using ../pg-tom_sawyer.txt File
2020/03/02 03:25:58 [Worker] Working with a map Task using ../pg-sherlock_holmes.txt File
2020/03/02 03:25:59 [Worker] Finished map Task using ../pg-tom_sawyer.txt File
2020/03/02 03:25:59 [Worker] Finished map Task using ../pg-sherlock_holmes.txt File
2020/03/02 03:25:59 [Master] [Checker] Map Workers 2,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:00 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:00 [Worker] Working with a reduce Task using mr-tmp-map-2 File
2020/03/02 03:26:00 [Worker] Working with a reduce Task using mr-tmp-map-1 File
2020/03/02 03:26:00 [Worker] Finished reduce Task using mr-tmp-map-2 File
2020/03/02 03:26:00 [Worker] Finished reduce Task using mr-tmp-map-1 File
2020/03/02 03:26:01 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 8
2020/03/02 03:26:02 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 8
2020/03/02 03:26:02 [Worker] Working with a reduce Task using mr-tmp-map-4 File
2020/03/02 03:26:02 [Worker] Working with a reduce Task using mr-tmp-map-3 File
2020/03/02 03:26:02 [Worker] Finished reduce Task using mr-tmp-map-3 File
2020/03/02 03:26:02 [Worker] Finished reduce Task using mr-tmp-map-4 File
2020/03/02 03:26:03 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 6
2020/03/02 03:26:04 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 6
2020/03/02 03:26:04 [Worker] Working with a reduce Task using mr-tmp-map-5 File
2020/03/02 03:26:04 [Worker] Working with a reduce Task using mr-tmp-map-6 File
2020/03/02 03:26:04 [Worker] Finished reduce Task using mr-tmp-map-5 File
2020/03/02 03:26:04 [Worker] Finished reduce Task using mr-tmp-map-6 File
2020/03/02 03:26:05 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 4
2020/03/02 03:26:06 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 4
2020/03/02 03:26:06 [Worker] Working with a reduce Task using mr-tmp-map-8 File
2020/03/02 03:26:06 [Worker] Working with a reduce Task using mr-tmp-map-7 File
2020/03/02 03:26:06 [Worker] Finished reduce Task using mr-tmp-map-8 File
2020/03/02 03:26:06 [Worker] Finished reduce Task using mr-tmp-map-7 File
2020/03/02 03:26:07 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 2
2020/03/02 03:26:08 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 2
2020/03/02 03:26:08 [Worker] Working with a reduce Task using mr-tmp-map-10 File
2020/03/02 03:26:08 [Worker] Working with a reduce Task using mr-tmp-map-9 File
2020/03/02 03:26:08 [Worker] Finished reduce Task using mr-tmp-map-10 File
2020/03/02 03:26:08 [Worker] Finished reduce Task using mr-tmp-map-9 File
2020/03/02 03:26:09 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 0
2020/03/02 03:26:10 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 0
--- indexer test: PASS
2020/03/02 03:26:11 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 0
*** Starting map parallelism test.
2020/03/02 03:26:11 add tasks [{map ../pg-being_ernest.txt} {map ../pg-dorian_gray.txt} {map ../pg-frankenstein.txt} {map ../pg-grimm.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-metamorphosis.txt} {map ../pg-sherlock_holmes.txt} {map ../pg-tom_sawyer.txt}]
2020/03/02 03:26:11 tasks: [{map ../pg-being_ernest.txt} {map ../pg-dorian_gray.txt} {map ../pg-frankenstein.txt} {map ../pg-grimm.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-metamorphosis.txt} {map ../pg-sherlock_holmes.txt} {map ../pg-tom_sawyer.txt}]
2020/03/02 03:26:11 add tasks [{reduce mr-tmp-map-1} {reduce mr-tmp-map-2} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4} {reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10}]
2020/03/02 03:26:11 tasks: [{map ../pg-being_ernest.txt} {map ../pg-dorian_gray.txt} {map ../pg-frankenstein.txt} {map ../pg-grimm.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-metamorphosis.txt} {map ../pg-sherlock_holmes.txt} {map ../pg-tom_sawyer.txt} {reduce mr-tmp-map-1} {reduce mr-tmp-map-2} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4} {reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10}]
2020/03/02 03:26:11 rpc.Register: method "AddActiveWorkerAndAssignATask" has 2 input parameters; needs exactly three
2020/03/02 03:26:11 [Master] [Checker] Map Workers 0,Map Todo Tasks 8,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:11 rpc.Register: reply type of method "AddTask2TodoByStrings" is not a pointer: "[]string"
2020/03/02 03:26:11 rpc.Register: method "Auth" has 2 input parameters; needs exactly three
2020/03/02 03:26:11 rpc.Register: method "Checker" has 1 input parameters; needs exactly three
2020/03/02 03:26:11 rpc.Register: reply type of method "CreateLocalFiles" is not a pointer: "int"
2020/03/02 03:26:11 rpc.Register: method "Done" has 1 input parameters; needs exactly three
2020/03/02 03:26:11 rpc.Register: reply type of method "Init" is not a pointer: "int"
2020/03/02 03:26:11 rpc.Register: method "InitStatus" has 1 input parameters; needs exactly three
2020/03/02 03:26:11 rpc.Register: method "RemoveTask" has 2 input parameters; needs exactly three
2020/03/02 03:26:11 rpc.Register: method "RemoveWorker" has 2 input parameters; needs exactly three
2020/03/02 03:26:11 rpc.Register: method "UpdateStatus" has 1 input parameters; needs exactly three
2020/03/02 03:26:12 [Master] [Checker] Map Workers 0,Map Todo Tasks 8,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:12 [Worker] Working with a map Task using ../pg-being_ernest.txt File
2020/03/02 03:26:12 [Worker] Working with a map Task using ../pg-dorian_gray.txt File
2020/03/02 03:26:13 [Master] [Checker] Map Workers 2,Map Todo Tasks 6,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:13 [Worker] Finished map Task using ../pg-dorian_gray.txt File
2020/03/02 03:26:13 [Worker] Finished map Task using ../pg-being_ernest.txt File
2020/03/02 03:26:14 [Master] [Checker] Map Workers 2,Map Todo Tasks 6,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:15 [Master] [Checker] Map Workers 0,Map Todo Tasks 6,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:16 [Worker] Working with a map Task using ../pg-grimm.txt File
2020/03/02 03:26:16 [Worker] Working with a map Task using ../pg-frankenstein.txt File
2020/03/02 03:26:16 [Master] [Checker] Map Workers 2,Map Todo Tasks 4,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:17 [Worker] Finished map Task using ../pg-grimm.txt File
2020/03/02 03:26:17 [Worker] Finished map Task using ../pg-frankenstein.txt File
2020/03/02 03:26:17 [Master] [Checker] Map Workers 2,Map Todo Tasks 4,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:18 [Master] [Checker] Map Workers 0,Map Todo Tasks 4,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:19 [Worker] Working with a map Task using ../pg-metamorphosis.txt File
2020/03/02 03:26:19 [Worker] Working with a map Task using ../pg-huckleberry_finn.txt File
2020/03/02 03:26:19 [Master] [Checker] Map Workers 2,Map Todo Tasks 2,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:20 [Worker] Finished map Task using ../pg-metamorphosis.txt File
2020/03/02 03:26:20 [Worker] Finished map Task using ../pg-huckleberry_finn.txt File
2020/03/02 03:26:20 [Master] [Checker] Map Workers 2,Map Todo Tasks 2,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:21 [Master] [Checker] Map Workers 0,Map Todo Tasks 2,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:22 [Worker] Working with a map Task using ../pg-sherlock_holmes.txt File
2020/03/02 03:26:22 [Worker] Working with a map Task using ../pg-tom_sawyer.txt File
2020/03/02 03:26:22 [Master] [Checker] Map Workers 2,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:23 [Worker] Finished map Task using ../pg-tom_sawyer.txt File
2020/03/02 03:26:23 [Worker] Finished map Task using ../pg-sherlock_holmes.txt File
2020/03/02 03:26:23 [Master] [Checker] Map Workers 2,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:24 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:25 [Worker] Working with a reduce Task using mr-tmp-map-1 File
2020/03/02 03:26:25 [Worker] Working with a reduce Task using mr-tmp-map-2 File
2020/03/02 03:26:25 [Worker] Finished reduce Task using mr-tmp-map-2 File
2020/03/02 03:26:25 [Worker] Finished reduce Task using mr-tmp-map-1 File
2020/03/02 03:26:25 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 8
2020/03/02 03:26:26 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 8
2020/03/02 03:26:27 [Worker] Working with a reduce Task using mr-tmp-map-3 File
2020/03/02 03:26:27 [Worker] Working with a reduce Task using mr-tmp-map-4 File
2020/03/02 03:26:27 [Worker] Finished reduce Task using mr-tmp-map-4 File
2020/03/02 03:26:27 [Worker] Finished reduce Task using mr-tmp-map-3 File
2020/03/02 03:26:27 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 6
2020/03/02 03:26:28 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 6
2020/03/02 03:26:29 [Worker] Working with a reduce Task using mr-tmp-map-6 File
2020/03/02 03:26:29 [Worker] Working with a reduce Task using mr-tmp-map-5 File
2020/03/02 03:26:29 [Worker] Finished reduce Task using mr-tmp-map-5 File
2020/03/02 03:26:29 [Worker] Finished reduce Task using mr-tmp-map-6 File
2020/03/02 03:26:29 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 4
2020/03/02 03:26:30 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 4
2020/03/02 03:26:31 [Worker] Working with a reduce Task using mr-tmp-map-7 File
2020/03/02 03:26:31 [Worker] Finished reduce Task using mr-tmp-map-7 File
2020/03/02 03:26:31 [Worker] Working with a reduce Task using mr-tmp-map-8 File
2020/03/02 03:26:31 [Worker] Finished reduce Task using mr-tmp-map-8 File
2020/03/02 03:26:31 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 2
2020/03/02 03:26:32 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 2
2020/03/02 03:26:33 [Worker] Working with a reduce Task using mr-tmp-map-10 File
2020/03/02 03:26:33 [Worker] Working with a reduce Task using mr-tmp-map-9 File
2020/03/02 03:26:33 [Worker] Finished reduce Task using mr-tmp-map-10 File
2020/03/02 03:26:33 [Worker] Finished reduce Task using mr-tmp-map-9 File
2020/03/02 03:26:33 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 0
2020/03/02 03:26:34 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 0
--- map parallelism test: PASS
2020/03/02 03:26:35 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 0
*** Starting reduce parallelism test.
2020/03/02 03:26:35 add tasks [{map ../pg-being_ernest.txt} {map ../pg-dorian_gray.txt} {map ../pg-frankenstein.txt} {map ../pg-grimm.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-metamorphosis.txt} {map ../pg-sherlock_holmes.txt} {map ../pg-tom_sawyer.txt}]
2020/03/02 03:26:35 tasks: [{map ../pg-being_ernest.txt} {map ../pg-dorian_gray.txt} {map ../pg-frankenstein.txt} {map ../pg-grimm.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-metamorphosis.txt} {map ../pg-sherlock_holmes.txt} {map ../pg-tom_sawyer.txt}]
2020/03/02 03:26:35 add tasks [{reduce mr-tmp-map-1} {reduce mr-tmp-map-2} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4} {reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10}]
2020/03/02 03:26:35 tasks: [{map ../pg-being_ernest.txt} {map ../pg-dorian_gray.txt} {map ../pg-frankenstein.txt} {map ../pg-grimm.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-metamorphosis.txt} {map ../pg-sherlock_holmes.txt} {map ../pg-tom_sawyer.txt} {reduce mr-tmp-map-1} {reduce mr-tmp-map-2} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4} {reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10}]
2020/03/02 03:26:35 rpc.Register: method "AddActiveWorkerAndAssignATask" has 2 input parameters; needs exactly three
2020/03/02 03:26:35 [Master] [Checker] Map Workers 0,Map Todo Tasks 8,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:35 rpc.Register: reply type of method "AddTask2TodoByStrings" is not a pointer: "[]string"
2020/03/02 03:26:35 rpc.Register: method "Auth" has 2 input parameters; needs exactly three
2020/03/02 03:26:35 rpc.Register: method "Checker" has 1 input parameters; needs exactly three
2020/03/02 03:26:35 rpc.Register: reply type of method "CreateLocalFiles" is not a pointer: "int"
2020/03/02 03:26:35 rpc.Register: method "Done" has 1 input parameters; needs exactly three
2020/03/02 03:26:35 rpc.Register: reply type of method "Init" is not a pointer: "int"
2020/03/02 03:26:35 rpc.Register: method "InitStatus" has 1 input parameters; needs exactly three
2020/03/02 03:26:35 rpc.Register: method "RemoveTask" has 2 input parameters; needs exactly three
2020/03/02 03:26:35 rpc.Register: method "RemoveWorker" has 2 input parameters; needs exactly three
2020/03/02 03:26:35 rpc.Register: method "UpdateStatus" has 1 input parameters; needs exactly three
2020/03/02 03:26:36 [Master] [Checker] Map Workers 0,Map Todo Tasks 8,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:37 [Worker] Working with a map Task using ../pg-being_ernest.txt File
2020/03/02 03:26:37 [Worker] Working with a map Task using ../pg-dorian_gray.txt File
2020/03/02 03:26:37 [Worker] Finished map Task using ../pg-being_ernest.txt File
2020/03/02 03:26:37 [Worker] Finished map Task using ../pg-dorian_gray.txt File
2020/03/02 03:26:37 [Master] [Checker] Map Workers 2,Map Todo Tasks 6,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:38 [Master] [Checker] Map Workers 0,Map Todo Tasks 6,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:39 [Worker] Working with a map Task using ../pg-grimm.txt File
2020/03/02 03:26:39 [Worker] Working with a map Task using ../pg-frankenstein.txt File
2020/03/02 03:26:39 [Worker] Finished map Task using ../pg-frankenstein.txt File
2020/03/02 03:26:39 [Worker] Finished map Task using ../pg-grimm.txt File
2020/03/02 03:26:39 [Master] [Checker] Map Workers 2,Map Todo Tasks 4,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:40 [Master] [Checker] Map Workers 0,Map Todo Tasks 4,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:41 [Worker] Working with a map Task using ../pg-metamorphosis.txt File
2020/03/02 03:26:41 [Worker] Working with a map Task using ../pg-huckleberry_finn.txt File
2020/03/02 03:26:41 [Worker] Finished map Task using ../pg-metamorphosis.txt File
2020/03/02 03:26:41 [Worker] Finished map Task using ../pg-huckleberry_finn.txt File
2020/03/02 03:26:41 [Master] [Checker] Map Workers 2,Map Todo Tasks 2,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:42 [Master] [Checker] Map Workers 0,Map Todo Tasks 2,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:43 [Worker] Working with a map Task using ../pg-tom_sawyer.txt File
2020/03/02 03:26:43 [Worker] Working with a map Task using ../pg-sherlock_holmes.txt File
2020/03/02 03:26:43 [Worker] Finished map Task using ../pg-tom_sawyer.txt File
2020/03/02 03:26:43 [Worker] Finished map Task using ../pg-sherlock_holmes.txt File
2020/03/02 03:26:43 [Master] [Checker] Map Workers 2,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:44 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:26:45 [Worker] Working with a reduce Task using mr-tmp-map-1 File
2020/03/02 03:26:45 [Worker] Working with a reduce Task using mr-tmp-map-2 File
2020/03/02 03:26:45 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 8
2020/03/02 03:26:46 [Worker] Finished reduce Task using mr-tmp-map-2 File
2020/03/02 03:26:46 [Worker] Finished reduce Task using mr-tmp-map-1 File
2020/03/02 03:26:46 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 8
2020/03/02 03:26:47 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 8
2020/03/02 03:26:48 [Worker] Working with a reduce Task using mr-tmp-map-4 File
2020/03/02 03:26:48 [Worker] Working with a reduce Task using mr-tmp-map-3 File
2020/03/02 03:26:48 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 6
2020/03/02 03:26:49 [Worker] Finished reduce Task using mr-tmp-map-3 File
2020/03/02 03:26:49 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 6
2020/03/02 03:26:50 [Worker] Finished reduce Task using mr-tmp-map-4 File
2020/03/02 03:26:50 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 6
2020/03/02 03:26:51 [Worker] Working with a reduce Task using mr-tmp-map-5 File
2020/03/02 03:26:51 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 5
2020/03/02 03:26:52 [Worker] Working with a reduce Task using mr-tmp-map-6 File
2020/03/02 03:26:52 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 4
2020/03/02 03:26:53 [Worker] Finished reduce Task using mr-tmp-map-6 File
2020/03/02 03:26:53 [Worker] Finished reduce Task using mr-tmp-map-5 File
2020/03/02 03:26:53 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 4
2020/03/02 03:26:54 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 4
2020/03/02 03:26:55 [Worker] Working with a reduce Task using mr-tmp-map-7 File
2020/03/02 03:26:55 [Worker] Working with a reduce Task using mr-tmp-map-8 File
2020/03/02 03:26:55 [Worker] Finished reduce Task using mr-tmp-map-8 File
2020/03/02 03:26:55 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 2
2020/03/02 03:26:56 [Worker] Finished reduce Task using mr-tmp-map-7 File
2020/03/02 03:26:56 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 2
2020/03/02 03:26:57 [Worker] Working with a reduce Task using mr-tmp-map-9 File
2020/03/02 03:26:57 [Worker] Finished reduce Task using mr-tmp-map-9 File
2020/03/02 03:26:57 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 1
2020/03/02 03:26:58 [Worker] Working with a reduce Task using mr-tmp-map-10 File
2020/03/02 03:26:58 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 0
2020/03/02 03:26:59 [Worker] Finished reduce Task using mr-tmp-map-10 File
2020/03/02 03:26:59 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 0
2020/03/02 03:27:00 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 0
--- reduce parallelism test: PASS
2020/03/02 03:27:01 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 0
*** Starting crash test.
2020/03/02 03:27:02 add tasks [{map ../pg-being_ernest.txt} {map ../pg-dorian_gray.txt} {map ../pg-frankenstein.txt} {map ../pg-grimm.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-metamorphosis.txt} {map ../pg-sherlock_holmes.txt} {map ../pg-tom_sawyer.txt}]
2020/03/02 03:27:02 tasks: [{map ../pg-being_ernest.txt} {map ../pg-dorian_gray.txt} {map ../pg-frankenstein.txt} {map ../pg-grimm.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-metamorphosis.txt} {map ../pg-sherlock_holmes.txt} {map ../pg-tom_sawyer.txt}]
2020/03/02 03:27:02 add tasks [{reduce mr-tmp-map-1} {reduce mr-tmp-map-2} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4} {reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10}]
2020/03/02 03:27:02 tasks: [{map ../pg-being_ernest.txt} {map ../pg-dorian_gray.txt} {map ../pg-frankenstein.txt} {map ../pg-grimm.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-metamorphosis.txt} {map ../pg-sherlock_holmes.txt} {map ../pg-tom_sawyer.txt} {reduce mr-tmp-map-1} {reduce mr-tmp-map-2} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4} {reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10}]
2020/03/02 03:27:02 rpc.Register: method "AddActiveWorkerAndAssignATask" has 2 input parameters; needs exactly three
2020/03/02 03:27:02 rpc.Register: reply type of method "AddTask2TodoByStrings" is not a pointer: "[]string"
2020/03/02 03:27:02 rpc.Register: method "Auth" has 2 input parameters; needs exactly three
2020/03/02 03:27:02 rpc.Register: method "Checker" has 1 input parameters; needs exactly three
2020/03/02 03:27:02 rpc.Register: reply type of method "CreateLocalFiles" is not a pointer: "int"
2020/03/02 03:27:02 rpc.Register: method "Done" has 1 input parameters; needs exactly three
2020/03/02 03:27:02 rpc.Register: reply type of method "Init" is not a pointer: "int"
2020/03/02 03:27:02 rpc.Register: method "InitStatus" has 1 input parameters; needs exactly three
2020/03/02 03:27:02 rpc.Register: method "RemoveTask" has 2 input parameters; needs exactly three
2020/03/02 03:27:02 rpc.Register: method "RemoveWorker" has 2 input parameters; needs exactly three
2020/03/02 03:27:02 rpc.Register: method "UpdateStatus" has 1 input parameters; needs exactly three
2020/03/02 03:27:02 [Master] [Checker] Map Workers 0,Map Todo Tasks 8,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:27:03 [Master] [Checker] Map Workers 0,Map Todo Tasks 8,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:27:03 [Worker] Working with a map Task using ../pg-frankenstein.txt File
2020/03/02 03:27:03 [Worker] Working with a map Task using ../pg-grimm.txt File
2020/03/02 03:27:03 [Worker] Working with a map Task using ../pg-being_ernest.txt File
2020/03/02 03:27:03 [Worker] Working with a map Task using ../pg-dorian_gray.txt File
2020/03/02 03:27:03 [Worker] Finished map Task using ../pg-being_ernest.txt File
2020/03/02 03:27:04 [Worker] Finished map Task using ../pg-dorian_gray.txt File
2020/03/02 03:27:04 [Master] [Checker] Map Workers 4,Map Todo Tasks 4,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:27:04 [Worker] Working with a map Task using ../pg-huckleberry_finn.txt File
2020/03/02 03:27:05 [Master] [Checker] Map Workers 3,Map Todo Tasks 3,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:27:05 [Worker] Working with a map Task using ../pg-sherlock_holmes.txt File
2020/03/02 03:27:05 [Worker] Working with a map Task using ../pg-metamorphosis.txt File
2020/03/02 03:27:05 [Worker] Finished map Task using ../pg-sherlock_holmes.txt File
2020/03/02 03:27:05 [Worker] Working with a map Task using ../pg-tom_sawyer.txt File
2020/03/02 03:27:06 [Master] [Checker] Map Workers 6,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 10
2020/03/02 03:27:06 [Worker] Finished map Task using ../pg-frankenstein.txt File
2020/03/02 03:27:06 [Worker] Working with a reduce Task using mr-tmp-map-1 File
2020/03/02 03:27:06 [Worker] Waiting for map workers done
2020/03/02 03:27:06 [Worker] Working with a reduce Task using mr-tmp-map-2 File
2020/03/02 03:27:06 [Worker] Waiting for map workers done
2020/03/02 03:27:07 [Master] [Checker] Map Workers 5,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 8
2020/03/02 03:27:07 [Worker] Working with a reduce Task using mr-tmp-map-3 File
2020/03/02 03:27:07 [Worker] Waiting for map workers done
2020/03/02 03:27:07 [Worker] Waiting for map workers done
2020/03/02 03:27:07 [Worker] Waiting for map workers done
2020/03/02 03:27:08 [Master] [Checker] Map Workers 4,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:08 [Worker] Waiting for map workers done
2020/03/02 03:27:08 [Worker] Working with a reduce Task using mr-tmp-map-4 File
2020/03/02 03:27:08 [Worker] Waiting for map workers done
2020/03/02 03:27:08 [Worker] Waiting for map workers done
2020/03/02 03:27:08 [Worker] Waiting for map workers done
2020/03/02 03:27:09 [Master] [Checker] Map Workers 4,Map Todo Tasks 0,Reduce Workers 4,Reduce Todo Tasks 6
2020/03/02 03:27:09 [Worker] Waiting for map workers done
2020/03/02 03:27:09 [Worker] Waiting for map workers done
2020/03/02 03:27:09 [Worker] Waiting for map workers done
2020/03/02 03:27:09 [Worker] Waiting for map workers done
2020/03/02 03:27:10 [Master] [Checker] Map Workers 4,Map Todo Tasks 0,Reduce Workers 4,Reduce Todo Tasks 6
2020/03/02 03:27:10 [Worker] Waiting for map workers done
2020/03/02 03:27:10 [Worker] Waiting for map workers done
2020/03/02 03:27:10 [Worker] Waiting for map workers done
2020/03/02 03:27:10 [Worker] Waiting for map workers done
2020/03/02 03:27:11 [Master] [Checker] Map Workers 4,Map Todo Tasks 0,Reduce Workers 4,Reduce Todo Tasks 6
2020/03/02 03:27:11 [Worker] Waiting for map workers done
2020/03/02 03:27:11 [Worker] Waiting for map workers done
2020/03/02 03:27:11 [Worker] Waiting for map workers done
2020/03/02 03:27:11 [Worker] Waiting for map workers done
2020/03/02 03:27:12 [Master] [Checker] Map Workers 4,Map Todo Tasks 0,Reduce Workers 4,Reduce Todo Tasks 6
2020/03/02 03:27:12 [Worker] Waiting for map workers done
2020/03/02 03:27:12 [Worker] Waiting for map workers done
2020/03/02 03:27:12 [Worker] Waiting for map workers done
2020/03/02 03:27:12 [Worker] Waiting for map workers done
2020/03/02 03:27:13 [Master] [Checker] Map Workers 4,Map Todo Tasks 0,Reduce Workers 4,Reduce Todo Tasks 6
2020/03/02 03:27:13 [Worker] Waiting for map workers done
2020/03/02 03:27:13 [Worker] Waiting for map workers done
2020/03/02 03:27:13 [Worker] Waiting for map workers done
2020/03/02 03:27:13 [Worker] Waiting for map workers done
2020/03/02 03:27:14 [Master] [Checker] Map Workers 4,Map Todo Tasks 0,Reduce Workers 4,Reduce Todo Tasks 6
2020/03/02 03:27:14 [Master] remove timeout worker:&{5e5bfe77-43e6-2652-015b-3804-22ea9474
processing 2020-03-02 03:27:13.441024 +0900 JST m=+11.259351721 0xc000108680}
2020/03/02 03:27:14 add tasks [{map ../pg-grimm.txt}]
2020/03/02 03:27:14 tasks: [{map ../pg-grimm.txt} {reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10}]
2020/03/02 03:27:14 [Worker] Waiting for map workers done
2020/03/02 03:27:14 [Worker] Waiting for map workers done
2020/03/02 03:27:14 [Worker] Waiting for map workers done
2020/03/02 03:27:14 [Worker] Waiting for map workers done
2020/03/02 03:27:15 [Master] [Checker] Map Workers 3,Map Todo Tasks 1,Reduce Workers 4,Reduce Todo Tasks 6
2020/03/02 03:27:15 [Master] remove timeout worker:&{5e5bfe78-5118-f0d8-decb-598c-f3b16e05
processing 2020-03-02 03:27:14.467297 +0900 JST m=+12.285618936 0xc00000fc80}
2020/03/02 03:27:15 add tasks [{map ../pg-huckleberry_finn.txt}]
2020/03/02 03:27:15 tasks: [{map ../pg-huckleberry_finn.txt} {map ../pg-grimm.txt} {reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10}]
2020/03/02 03:27:15 [Worker] Waiting for map workers done
2020/03/02 03:27:15 [Worker] Waiting for map workers done
2020/03/02 03:27:15 [Worker] Waiting for map workers done
2020/03/02 03:27:15 [Worker] Waiting for map workers done
2020/03/02 03:27:16 [Master] [Checker] Map Workers 2,Map Todo Tasks 2,Reduce Workers 4,Reduce Todo Tasks 6
2020/03/02 03:27:16 [Master] remove timeout worker:&{5e5bfe79-d5c9-e75b-65f6-21e2-b875957e
processing 2020-03-02 03:27:15.493217 +0900 JST m=+13.311532970 0xc00028abe0}
2020/03/02 03:27:16 [Master] remove timeout worker:&{5e5bfe77-f572-8dbc-0ff9-6913-28b93fcc
processing 2020-03-02 03:27:15.446573 +0900 JST m=+13.264889592 0xc000109380}
2020/03/02 03:27:16 add tasks [{map ../pg-metamorphosis.txt}]
2020/03/02 03:27:16 add tasks [{map ../pg-tom_sawyer.txt}]
2020/03/02 03:27:16 tasks: [{map ../pg-metamorphosis.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-grimm.txt} {reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10}]
2020/03/02 03:27:16 tasks: [{map ../pg-tom_sawyer.txt} {map ../pg-metamorphosis.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-grimm.txt} {reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10}]
2020/03/02 03:27:16 [Worker] Waiting for map workers done
2020/03/02 03:27:16 [Worker] Waiting for map workers done
2020/03/02 03:27:16 [Worker] Waiting for map workers done
[Master] timeout
2020/03/02 03:27:16 [Worker] Waiting for map workers done
[Master] timeout
2020/03/02 03:27:17 [Master] [Checker] Map Workers 0,Map Todo Tasks 4,Reduce Workers 4,Reduce Todo Tasks 6
2020/03/02 03:27:17 [Master] remove timeout worker:&{5e5bfe7a-cde9-3d96-06ef-4d46-a748dee9
processing 2020-03-02 03:27:16.513023 +0900 JST m=+14.331334121 0xc0002bc020}
2020/03/02 03:27:17 [Master] remove timeout worker:&{5e5bfe7a-b2a2-88bb-32d1-0a45-979374c3
processing 2020-03-02 03:27:16.469305 +0900 JST m=+14.287616169 0xc0001099c0}
2020/03/02 03:27:17 add tasks [{reduce mr-tmp-map-2}]
2020/03/02 03:27:17 add tasks [{reduce mr-tmp-map-1}]
2020/03/02 03:27:17 tasks: [{map ../pg-tom_sawyer.txt} {map ../pg-metamorphosis.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-grimm.txt} {reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10} {reduce mr-tmp-map-2}]
2020/03/02 03:27:17 tasks: [{map ../pg-tom_sawyer.txt} {map ../pg-metamorphosis.txt} {map ../pg-huckleberry_finn.txt} {map ../pg-grimm.txt} {reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10} {reduce mr-tmp-map-2} {reduce mr-tmp-map-1}]
2020/03/02 03:27:17 [Worker] Waiting for map workers done
2020/03/02 03:27:17 [Worker] Waiting for map workers done
[Master] timeout
2020/03/02 03:27:17 [Worker] Working with a map Task using ../pg-tom_sawyer.txt File
2020/03/02 03:27:17 [Worker] Working with a map Task using ../pg-metamorphosis.txt File
2020/03/02 03:27:18 [Master] [Checker] Map Workers 2,Map Todo Tasks 2,Reduce Workers 2,Reduce Todo Tasks 8
2020/03/02 03:27:18 [Master] remove timeout worker:&{5e5bfe77-4d4a-ec68-a8db-f763-3b6b145c
processing 2020-03-02 03:27:17.457333 +0900 JST m=+15.275638951 0xc0002ac7c0}
2020/03/02 03:27:18 add tasks [{reduce mr-tmp-map-3}]
2020/03/02 03:27:18 tasks: [{map ../pg-huckleberry_finn.txt} {map ../pg-grimm.txt} {reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10} {reduce mr-tmp-map-2} {reduce mr-tmp-map-1} {reduce mr-tmp-map-3}]
2020/03/02 03:27:18 [Worker] Waiting for map workers done
[Master] timeout
2020/03/02 03:27:18 [Worker] Working with a map Task using ../pg-huckleberry_finn.txt File
2020/03/02 03:27:18 [Worker] Working with a map Task using ../pg-grimm.txt File
2020/03/02 03:27:19 [Master] [Checker] Map Workers 4,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 9
2020/03/02 03:27:19 [Master] remove timeout worker:&{5e5bfe77-fb5d-57a3-1455-b299-554fe4b6
processing 2020-03-02 03:27:18.460887 +0900 JST m=+16.279187484 0xc0001ef280}
2020/03/02 03:27:19 add tasks [{reduce mr-tmp-map-4}]
2020/03/02 03:27:19 tasks: [{reduce mr-tmp-map-5} {reduce mr-tmp-map-6} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10} {reduce mr-tmp-map-2} {reduce mr-tmp-map-1} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4}]
2020/03/02 03:27:19 [Worker] Working with a reduce Task using mr-tmp-map-5 File
2020/03/02 03:27:19 [Worker] Waiting for map workers done
2020/03/02 03:27:19 [Worker] Working with a reduce Task using mr-tmp-map-6 File
2020/03/02 03:27:19 [Worker] Waiting for map workers done
2020/03/02 03:27:20 [Master] [Checker] Map Workers 4,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 8
2020/03/02 03:27:20 [Worker] Waiting for map workers done
2020/03/02 03:27:20 [Worker] Waiting for map workers done
2020/03/02 03:27:21 [Master] [Checker] Map Workers 4,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 8
2020/03/02 03:27:21 [Worker] Waiting for map workers done
2020/03/02 03:27:21 [Worker] Waiting for map workers done
2020/03/02 03:27:22 [Master] [Checker] Map Workers 4,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 8
2020/03/02 03:27:22 [Worker] Finished map Task using ../pg-huckleberry_finn.txt File
2020/03/02 03:27:22 [Worker] Waiting for map workers done
2020/03/02 03:27:22 [Worker] Waiting for map workers done
2020/03/02 03:27:23 [Master] [Checker] Map Workers 3,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 8
2020/03/02 03:27:23 [Worker] Waiting for map workers done
2020/03/02 03:27:23 [Worker] Working with a reduce Task using mr-tmp-map-7 File
2020/03/02 03:27:23 [Worker] Waiting for map workers done
2020/03/02 03:27:23 [Worker] Waiting for map workers done
2020/03/02 03:27:24 [Master] [Checker] Map Workers 3,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:24 [Worker] Waiting for map workers done
2020/03/02 03:27:24 [Worker] Waiting for map workers done
2020/03/02 03:27:24 [Worker] Waiting for map workers done
2020/03/02 03:27:25 [Master] [Checker] Map Workers 3,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:25 [Worker] Waiting for map workers done
2020/03/02 03:27:25 [Worker] Waiting for map workers done
2020/03/02 03:27:25 [Worker] Waiting for map workers done
2020/03/02 03:27:26 [Master] [Checker] Map Workers 3,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:26 [Worker] Waiting for map workers done
2020/03/02 03:27:26 [Worker] Waiting for map workers done
2020/03/02 03:27:26 [Worker] Waiting for map workers done
2020/03/02 03:27:27 [Master] [Checker] Map Workers 3,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:27 [Worker] Waiting for map workers done
2020/03/02 03:27:27 [Worker] Waiting for map workers done
2020/03/02 03:27:27 [Worker] Waiting for map workers done
2020/03/02 03:27:28 [Master] [Checker] Map Workers 3,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:28 [Master] remove timeout worker:&{5e5bfe85-ccb2-dd83-978a-ea21-03ccf5ec
processing 2020-03-02 03:27:27.560795 +0900 JST m=+25.379045801 0xc000432560}
2020/03/02 03:27:28 [Master] remove timeout worker:&{5e5bfe85-d4ab-c4eb-d360-6289-c7dc4492
processing 2020-03-02 03:27:27.515481 +0900 JST m=+25.333732207 0xc0003bff00}
2020/03/02 03:27:28 add tasks [{map ../pg-metamorphosis.txt}]
2020/03/02 03:27:28 add tasks [{map ../pg-tom_sawyer.txt}]
2020/03/02 03:27:28 tasks: [{map ../pg-metamorphosis.txt} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10} {reduce mr-tmp-map-2} {reduce mr-tmp-map-1} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4}]
2020/03/02 03:27:28 tasks: [{map ../pg-tom_sawyer.txt} {map ../pg-metamorphosis.txt} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10} {reduce mr-tmp-map-2} {reduce mr-tmp-map-1} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4}]
2020/03/02 03:27:28 [Worker] Waiting for map workers done
2020/03/02 03:27:28 [Worker] Waiting for map workers done
2020/03/02 03:27:28 [Worker] Waiting for map workers done
2020/03/02 03:27:29 [Master] [Checker] Map Workers 1,Map Todo Tasks 2,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:29 [Master] remove timeout worker:&{5e5bfe86-7187-514e-366a-30a6-521dcbec
processing 2020-03-02 03:27:28.58549 +0900 JST m=+26.403734889 0xc000432bc0}
2020/03/02 03:27:29 add tasks [{map ../pg-grimm.txt}]
2020/03/02 03:27:29 tasks: [{map ../pg-grimm.txt} {map ../pg-tom_sawyer.txt} {map ../pg-metamorphosis.txt} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10} {reduce mr-tmp-map-2} {reduce mr-tmp-map-1} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4}]
2020/03/02 03:27:29 [Worker] Waiting for map workers done
[Master] timeout
2020/03/02 03:27:29 [Worker] Waiting for map workers done
2020/03/02 03:27:29 [Worker] Waiting for map workers done
[Master] timeout
2020/03/02 03:27:30 [Master] [Checker] Map Workers 0,Map Todo Tasks 3,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:30 [Master] remove timeout worker:&{5e5bfe87-ce74-62a4-1d6e-ae86-02acfb80
processing 2020-03-02 03:27:29.517893 +0900 JST m=+27.336133553 0xc000433240}
2020/03/02 03:27:30 [Master] remove timeout worker:&{5e5bfe87-8f37-b7a0-0068-25a0-4533ec8d
processing 2020-03-02 03:27:29.609386 +0900 JST m=+27.427625732 0xc000433ee0}
2020/03/02 03:27:30 add tasks [{reduce mr-tmp-map-6}]
2020/03/02 03:27:30 tasks: [{map ../pg-grimm.txt} {map ../pg-tom_sawyer.txt} {map ../pg-metamorphosis.txt} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10} {reduce mr-tmp-map-2} {reduce mr-tmp-map-1} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4} {reduce mr-tmp-map-6}]
2020/03/02 03:27:30 add tasks [{reduce mr-tmp-map-5}]
2020/03/02 03:27:30 tasks: [{map ../pg-grimm.txt} {map ../pg-tom_sawyer.txt} {map ../pg-metamorphosis.txt} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10} {reduce mr-tmp-map-2} {reduce mr-tmp-map-1} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4} {reduce mr-tmp-map-6} {reduce mr-tmp-map-5}]
2020/03/02 03:27:30 [Worker] Waiting for map workers done
2020/03/02 03:27:30 [Worker] Working with a map Task using ../pg-grimm.txt File
2020/03/02 03:27:30 [Worker] Working with a map Task using ../pg-tom_sawyer.txt File
2020/03/02 03:27:30 [Worker] Finished map Task using ../pg-tom_sawyer.txt File
2020/03/02 03:27:31 [Master] [Checker] Map Workers 2,Map Todo Tasks 1,Reduce Workers 1,Reduce Todo Tasks 9
2020/03/02 03:27:31 [Worker] Waiting for map workers done
2020/03/02 03:27:31 [Worker] Working with a map Task using ../pg-metamorphosis.txt File
2020/03/02 03:27:32 [Worker] Finished map Task using ../pg-metamorphosis.txt File
2020/03/02 03:27:32 [Master] [Checker] Map Workers 2,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 9
2020/03/02 03:27:32 [Worker] Waiting for map workers done
2020/03/02 03:27:32 [Worker] Working with a reduce Task using mr-tmp-map-8 File
2020/03/02 03:27:32 [Worker] Waiting for map workers done
2020/03/02 03:27:33 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 8
2020/03/02 03:27:33 [Worker] Waiting for map workers done
[Master] timeout
2020/03/02 03:27:33 [Worker] Working with a reduce Task using mr-tmp-map-9 File
2020/03/02 03:27:33 [Worker] Waiting for map workers done
2020/03/02 03:27:33 [Worker] Waiting for map workers done
2020/03/02 03:27:34 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:34 [Master] remove timeout worker:&{5e5bfe86-9de7-b09b-bbc6-4269-13f3d269
processing 2020-03-02 03:27:33.55636 +0900 JST m=+31.374578673 0xc00000e660}
2020/03/02 03:27:34 add tasks [{reduce mr-tmp-map-7}]
2020/03/02 03:27:34 tasks: [{reduce mr-tmp-map-10} {reduce mr-tmp-map-2} {reduce mr-tmp-map-1} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4} {reduce mr-tmp-map-6} {reduce mr-tmp-map-5} {reduce mr-tmp-map-7}]
2020/03/02 03:27:34 [Worker] Waiting for map workers done
2020/03/02 03:27:34 [Worker] Working with a reduce Task using mr-tmp-map-10 File
2020/03/02 03:27:34 [Worker] Waiting for map workers done
2020/03/02 03:27:34 [Worker] Waiting for map workers done
2020/03/02 03:27:35 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:35 [Worker] Waiting for map workers done
2020/03/02 03:27:35 [Worker] Waiting for map workers done
2020/03/02 03:27:35 [Worker] Waiting for map workers done
2020/03/02 03:27:36 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:36 [Worker] Waiting for map workers done
2020/03/02 03:27:36 [Worker] Waiting for map workers done
2020/03/02 03:27:36 [Worker] Waiting for map workers done
2020/03/02 03:27:37 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:37 [Worker] Waiting for map workers done
2020/03/02 03:27:37 [Worker] Waiting for map workers done
2020/03/02 03:27:37 [Worker] Waiting for map workers done
2020/03/02 03:27:38 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:38 [Worker] Waiting for map workers done
2020/03/02 03:27:38 [Worker] Waiting for map workers done
2020/03/02 03:27:38 [Worker] Waiting for map workers done
2020/03/02 03:27:39 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:39 [Worker] Waiting for map workers done
2020/03/02 03:27:39 [Worker] Waiting for map workers done
2020/03/02 03:27:39 [Worker] Waiting for map workers done
2020/03/02 03:27:40 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:40 [Worker] Waiting for map workers done
2020/03/02 03:27:40 [Worker] Waiting for map workers done
2020/03/02 03:27:40 [Worker] Waiting for map workers done
2020/03/02 03:27:41 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:41 [Master] remove timeout worker:&{5e5bfe92-3eeb-5894-94c4-98a7-db65a433
processing 2020-03-02 03:27:40.5708 +0900 JST m=+38.388979620 0xc000402100}
2020/03/02 03:27:41 add tasks [{map ../pg-grimm.txt}]
2020/03/02 03:27:41 tasks: [{map ../pg-grimm.txt} {reduce mr-tmp-map-2} {reduce mr-tmp-map-1} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4} {reduce mr-tmp-map-6} {reduce mr-tmp-map-5} {reduce mr-tmp-map-7}]
2020/03/02 03:27:41 [Worker] Waiting for map workers done
2020/03/02 03:27:41 [Worker] Waiting for map workers done
2020/03/02 03:27:41 [Worker] Waiting for map workers done
2020/03/02 03:27:42 [Master] [Checker] Map Workers 0,Map Todo Tasks 1,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:42 [Worker] Waiting for map workers done
2020/03/02 03:27:42 [Worker] Waiting for map workers done
2020/03/02 03:27:42 [Worker] Waiting for map workers done
[Master] timeout
2020/03/02 03:27:43 [Master] [Checker] Map Workers 0,Map Todo Tasks 1,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:43 [Master] remove timeout worker:&{5e5bfe92-9d6b-a52d-b991-851d-7d6d382a
processing 2020-03-02 03:27:42.698245 +0900 JST m=+40.516413953 0xc000403440}
2020/03/02 03:27:43 add tasks [{reduce mr-tmp-map-8}]
2020/03/02 03:27:43 tasks: [{map ../pg-grimm.txt} {reduce mr-tmp-map-2} {reduce mr-tmp-map-1} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4} {reduce mr-tmp-map-6} {reduce mr-tmp-map-5} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8}]
2020/03/02 03:27:43 [Worker] Waiting for map workers done
2020/03/02 03:27:43 [Worker] Waiting for map workers done
[Master] timeout
2020/03/02 03:27:43 [Worker] Working with a map Task using ../pg-grimm.txt File
2020/03/02 03:27:44 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 8
2020/03/02 03:27:44 [Master] remove timeout worker:&{5e5bfe93-1140-f175-1c64-c090-4557fbe7
processing 2020-03-02 03:27:43.602859 +0900 JST m=+41.421022763 0xc000497a40}
2020/03/02 03:27:44 add tasks [{reduce mr-tmp-map-9}]
2020/03/02 03:27:44 tasks: [{reduce mr-tmp-map-2} {reduce mr-tmp-map-1} {reduce mr-tmp-map-3} {reduce mr-tmp-map-4} {reduce mr-tmp-map-6} {reduce mr-tmp-map-5} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9}]
2020/03/02 03:27:44 [Worker] Waiting for map workers done
[Master] timeout
2020/03/02 03:27:44 [Worker] Working with a reduce Task using mr-tmp-map-2 File
2020/03/02 03:27:44 [Worker] Waiting for map workers done
2020/03/02 03:27:44 [Worker] Working with a reduce Task using mr-tmp-map-1 File
2020/03/02 03:27:44 [Worker] Waiting for map workers done
2020/03/02 03:27:45 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:45 [Master] remove timeout worker:&{5e5bfe96-6e17-03ce-3875-8283-460be3b6
processing 2020-03-02 03:27:44.617844 +0900 JST m=+42.436001831 0xc0001eff60}
2020/03/02 03:27:45 add tasks [{reduce mr-tmp-map-10}]
2020/03/02 03:27:45 tasks: [{reduce mr-tmp-map-3} {reduce mr-tmp-map-4} {reduce mr-tmp-map-6} {reduce mr-tmp-map-5} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10}]
2020/03/02 03:27:45 [Worker] Waiting for map workers done
2020/03/02 03:27:45 [Worker] Working with a reduce Task using mr-tmp-map-3 File
2020/03/02 03:27:45 [Worker] Waiting for map workers done
2020/03/02 03:27:45 [Worker] Waiting for map workers done
2020/03/02 03:27:46 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:46 [Worker] Waiting for map workers done
2020/03/02 03:27:46 [Worker] Waiting for map workers done
2020/03/02 03:27:46 [Worker] Waiting for map workers done
2020/03/02 03:27:47 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:47 [Worker] Waiting for map workers done
2020/03/02 03:27:47 [Worker] Waiting for map workers done
2020/03/02 03:27:47 [Worker] Waiting for map workers done
2020/03/02 03:27:48 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:48 [Worker] Waiting for map workers done
2020/03/02 03:27:48 [Worker] Waiting for map workers done
2020/03/02 03:27:48 [Worker] Waiting for map workers done
2020/03/02 03:27:49 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:49 [Worker] Waiting for map workers done
2020/03/02 03:27:49 [Worker] Waiting for map workers done
2020/03/02 03:27:49 [Worker] Waiting for map workers done
2020/03/02 03:27:50 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:50 [Worker] Waiting for map workers done
2020/03/02 03:27:50 [Worker] Waiting for map workers done
2020/03/02 03:27:50 [Worker] Waiting for map workers done
2020/03/02 03:27:51 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:51 [Worker] Waiting for map workers done
2020/03/02 03:27:51 [Worker] Waiting for map workers done
2020/03/02 03:27:51 [Worker] Waiting for map workers done
2020/03/02 03:27:52 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:52 [Worker] Waiting for map workers done
2020/03/02 03:27:52 [Worker] Waiting for map workers done
2020/03/02 03:27:52 [Worker] Waiting for map workers done
2020/03/02 03:27:53 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:53 [Worker] Waiting for map workers done
2020/03/02 03:27:53 [Worker] Waiting for map workers done
2020/03/02 03:27:53 [Worker] Waiting for map workers done
2020/03/02 03:27:54 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:54 [Master] remove timeout worker:&{5e5bfe9f-8aa4-8169-f90e-3bf2-36e04a67
processing 2020-03-02 03:27:53.762485 +0900 JST m=+51.580593951 0xc0003a9920}
2020/03/02 03:27:54 add tasks [{map ../pg-grimm.txt}]
2020/03/02 03:27:54 tasks: [{map ../pg-grimm.txt} {reduce mr-tmp-map-4} {reduce mr-tmp-map-6} {reduce mr-tmp-map-5} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10}]
2020/03/02 03:27:54 [Worker] Waiting for map workers done
2020/03/02 03:27:54 [Worker] Waiting for map workers done
[Master] timeout
2020/03/02 03:27:54 [Worker] Waiting for map workers done
[Master] timeout
2020/03/02 03:27:55 [Master] [Checker] Map Workers 0,Map Todo Tasks 1,Reduce Workers 3,Reduce Todo Tasks 7
2020/03/02 03:27:55 [Master] remove timeout worker:&{5e5bfea0-8d10-3887-7801-77d5-b504537a
processing 2020-03-02 03:27:54.667126 +0900 JST m=+52.485229846 0xc0003fcc20}
2020/03/02 03:27:55 [Master] remove timeout worker:&{5e5bfea0-8808-6495-97cf-9517-3af7317c
processing 2020-03-02 03:27:54.790237 +0900 JST m=+52.608339717 0xc0003fd280}
2020/03/02 03:27:55 add tasks [{reduce mr-tmp-map-2}]
2020/03/02 03:27:55 add tasks [{reduce mr-tmp-map-1}]
2020/03/02 03:27:55 tasks: [{map ../pg-grimm.txt} {reduce mr-tmp-map-4} {reduce mr-tmp-map-6} {reduce mr-tmp-map-5} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10} {reduce mr-tmp-map-2} {reduce mr-tmp-map-1}]
2020/03/02 03:27:55 tasks: [{map ../pg-grimm.txt} {reduce mr-tmp-map-4} {reduce mr-tmp-map-6} {reduce mr-tmp-map-5} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10} {reduce mr-tmp-map-2}]
2020/03/02 03:27:55 [Worker] Waiting for map workers done
[Master] timeout
2020/03/02 03:27:55 [Worker] Working with a map Task using ../pg-grimm.txt File
2020/03/02 03:27:55 [Worker] Finished map Task using ../pg-grimm.txt File
2020/03/02 03:27:55 [Worker] Working with a reduce Task using mr-tmp-map-4 File
2020/03/02 03:27:55 [Worker] Waiting for map workers done
2020/03/02 03:27:56 [Master] [Checker] Map Workers 1,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 8
2020/03/02 03:27:56 [Master] remove timeout worker:&{5e5bfea1-60ab-4596-b36f-278a-e19276b1
processing 2020-03-02 03:27:55.67271 +0900 JST m=+53.490807748 0xc0003fdf20}
2020/03/02 03:27:56 add tasks [{reduce mr-tmp-map-3}]
2020/03/02 03:27:56 tasks: [{reduce mr-tmp-map-6} {reduce mr-tmp-map-5} {reduce mr-tmp-map-7} {reduce mr-tmp-map-8} {reduce mr-tmp-map-9} {reduce mr-tmp-map-10} {reduce mr-tmp-map-2} {reduce mr-tmp-map-1} {reduce mr-tmp-map-3}]
2020/03/02 03:27:56 [Worker] Working with a reduce Task using mr-tmp-map-6 File
2020/03/02 03:27:56 [Worker] Waiting for map workers done
2020/03/02 03:27:57 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 8
2020/03/02 03:27:57 [Worker] Working with a reduce Task using mr-tmp-map-5 File
2020/03/02 03:27:57 [Worker] Finished reduce Task using mr-tmp-map-5 File
2020/03/02 03:27:57 [Worker] Working with a reduce Task using mr-tmp-map-7 File
2020/03/02 03:27:57 [Worker] Finished reduce Task using mr-tmp-map-7 File
2020/03/02 03:27:57 [Worker] Finished reduce Task using mr-tmp-map-4 File
2020/03/02 03:27:58 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 6
2020/03/02 03:27:58 [Worker] Working with a reduce Task using mr-tmp-map-8 File
2020/03/02 03:27:58 [Worker] Finished reduce Task using mr-tmp-map-8 File
2020/03/02 03:27:59 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 5
2020/03/02 03:27:59 [Worker] Working with a reduce Task using mr-tmp-map-9 File
2020/03/02 03:27:59 [Worker] Finished reduce Task using mr-tmp-map-9 File
2020/03/02 03:27:59 [Worker] Working with a reduce Task using mr-tmp-map-10 File
2020/03/02 03:28:00 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 3
2020/03/02 03:28:00 [Worker] Working with a reduce Task using mr-tmp-map-2 File
2020/03/02 03:28:00 [Worker] Finished reduce Task using mr-tmp-map-2 File
2020/03/02 03:28:01 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 2
2020/03/02 03:28:01 [Worker] Working with a reduce Task using mr-tmp-map-1 File
2020/03/02 03:28:02 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 1
2020/03/02 03:28:02 [Worker] Working with a reduce Task using mr-tmp-map-3 File
2020/03/02 03:28:03 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 4,Reduce Todo Tasks 0
2020/03/02 03:28:04 [Worker] Finished reduce Task using mr-tmp-map-10 File
2020/03/02 03:28:04 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 4,Reduce Todo Tasks 0
2020/03/02 03:28:05 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 0
2020/03/02 03:28:06 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 0
2020/03/02 03:28:07 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 0
2020/03/02 03:28:07 [Master] remove timeout worker:&{5e5bfeac-e224-e05d-61a8-bb1a-e8ac57b1
processing 2020-03-02 03:28:06.733735 +0900 JST m=+64.551773346 0xc0001ee640}
2020/03/02 03:28:07 add tasks [{reduce mr-tmp-map-6}]
2020/03/02 03:28:07 tasks: [{reduce mr-tmp-map-6}]
2020/03/02 03:28:07 [Worker] Working with a reduce Task using mr-tmp-map-6 File
2020/03/02 03:28:08 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 0
2020/03/02 03:28:09 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 0
2020/03/02 03:28:10 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 3,Reduce Todo Tasks 0
2020/03/02 03:28:10 [Worker] Finished reduce Task using mr-tmp-map-1 File
2020/03/02 03:28:11 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 2,Reduce Todo Tasks 0
2020/03/02 03:28:11 [Worker] Finished reduce Task using mr-tmp-map-3 File
2020/03/02 03:28:12 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 0
2020/03/02 03:28:13 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 0
2020/03/02 03:28:14 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 0
2020/03/02 03:28:14 [Worker] Finished reduce Task using mr-tmp-map-6 File
2020/03/02 03:28:15 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 1,Reduce Todo Tasks 0
2020/03/02 03:28:16 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 0
2020/03/02 03:28:17 [Master] [Checker] Map Workers 0,Map Todo Tasks 0,Reduce Workers 0,Reduce Todo Tasks 0
--- crash test: PASS
*** PASSED ALL TESTS