Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug found related to port reservation #459

Closed
cmingxu opened this issue Mar 21, 2017 · 2 comments
Closed

bug found related to port reservation #459

cmingxu opened this issue Mar 21, 2017 · 2 comments

Comments

@cmingxu
Copy link
Contributor

cmingxu commented Mar 21, 2017

DEBU[2017-03-21 10:40:11] listener &{janitor map[877cd748-dec8-451a-b525-102f375552aa:{877cd748-dec8-451a-b525-102f375552aa 192.168.1.161:9998/v_beta/agent/janitor/event }] {{%!s(int32=0) %!s(uint32=0)} %!s(uint32=0) %!s(uint32=0) %!s(int32=0) %!s(int32=0)}} have no interest in &{ task_state_failed appname3-member-datamanmesos fixed %!s(types.TaskInfoEvent=&{10.10.0.98 0-appname3-member-datamanmesos appname3-member-datamanmesos 0 slot_task_failed false datamanmesos member fixed})}
DEBU[2017-03-21 10:40:11] &{HEARTBEAT type:HEARTBEAT } event=mesos
DEBU[2017-03-21 10:40:11] logger handler report got event type: mesos_heartbeat handler=logger
DEBU[2017-03-21 10:40:11] update slot 0-appname3-member-datamanmesos
DEBU[2017-03-21 10:40:11] framework_id:<value:"7eb8072d-25f4-463b-a743-84767f5fd512-0030" > type:ACKNOWLEDGE acknowledge:<agent_id:<value:"7eb8072d-25f4-463b-a743-84767f5fd512-S13" > task_id:<value:"0-appname3-member-datamanmesos-b48ec89ad953476eab8527dcf5cd2c19" > uuid:"\244\252\272\336\326vA\227\250!\225'&.\\010" > sending-call=ACKNOWLEDGE
DEBU[2017-03-21 10:40:12] &{OFFERS type:OFFERS offers:<offers:<id:<value:"d7ef5d2b-f924-42d9-a274-c020afba6bce-O5003" > framework_id:<value:"7eb8072d-25f4-463b-a743-84767f5fd512-0030" > agent_id:<value:"7eb8072d-25f4-463b-a743-84767f5fd512-S13" > hostname:"192.168.1.160" url:<scheme:"http" address:<hostname:"192.168.1.160" ip:"192.168.1.160" port:5051 > path:"/slave(1)" > resources:<name:"cpus" type:SCALAR scalar:<value:0.02 > role:"
" > resources:<name:"mem" type:SCALAR scalar:<value:32 > role:"*" > attributes:<name:"vcluster" type:TEXT text:<value:"clusterautotest" > > > > } event=mesos
DEBU[2017-03-21 10:40:12] logger handler report got event type: mesos_offers handler=logger
DEBU[2017-03-21 10:40:12] OfferHandler got offerId: d7ef5d2b-f924-42d9-a274-c020afba6bce-O5003 handler=offer
INFO[2017-03-21 10:40:12] Prepared task 0-appname-member-datamanmesos for launch with offer d7ef5d2b-f924-42d9-a274-c020afba6bce-O5003
panic: runtime error: slice bounds out of range

goroutine 26489 [running]:
panic(0xcbb380, 0xc820012040)
/usr/local/go/src/runtime/panic.go:481 +0x3e6
github.com/Dataman-Cloud/swan/src/manager/framework/state.(*OfferWrapper).PortsRemain(0xc820e007e0, 0x0, 0x0, 0x0)
/go/src/github.com/Dataman-Cloud/swan/src/manager/framework/state/offer_wrapper.go:39 +0x358
github.com/Dataman-Cloud/swan/src/manager/framework/state.(*Task).PrepareTaskInfo(0xc8207fc120, 0xc820e007e0, 0xc8203fada8)
/go/src/github.com/Dataman-Cloud/swan/src/manager/framework/state/task.go:101 +0x1482
github.com/Dataman-Cloud/swan/src/manager/framework/state.(*Slot).ReserveOfferAndPrepareTaskInfo(0xc8203fad10, 0xc820e007e0, 0x0, 0x0)
/go/src/github.com/Dataman-Cloud/swan/src/manager/framework/state/slot.go:194 +0x118
github.com/Dataman-Cloud/swan/src/manager/framework/scheduler.OfferHandler(0xc820e006c0, 0xc820e006c0, 0x0, 0x0)
/go/src/github.com/Dataman-Cloud/swan/src/manager/framework/scheduler/hdl_offer.go:36 +0xb8f
github.com/Dataman-Cloud/swan/src/manager/framework/scheduler.(*Handler).Process(0xc820e006c0, 0x7ff50b24e7c8, 0xc820e006f0)
/go/src/github.com/Dataman-Cloud/swan/src/manager/framework/scheduler/handler.go:43 +0x301
created by github.com/Dataman-Cloud/swan/src/manager/framework/scheduler.(*HandlerManager).Handle
/go/src/github.com/Dataman-Cloud/swan/src/manager/framework/scheduler/handler_manager.go:58 +0x36e

@cmingxu
Copy link
Contributor Author

cmingxu commented Mar 21, 2017

The reason behind this is that mesos doesn't offer any Range resources port, but constraint match didn't notice this

	return constraintsMatch &&
		ow.CpuRemain() >= slot.Version.CPUs &&
		ow.MemRemain() >= slot.Version.Mem &&
		ow.DiskRemain() >= slot.Version.Disk

@cmingxu
Copy link
Contributor Author

cmingxu commented Mar 22, 2017

fixed

@cmingxu cmingxu closed this as completed Mar 22, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant