[jira] [Commented] (MESOS-3552) Check failed: result.cpus() == cpus() && result.mem() == mem() && result.disk() == disk() && result.ports() == ports()

2015-11-23 Thread Neil Conway (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-3552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15022891#comment-15022891
 ] 

Neil Conway commented on MESOS-3552:


I opened MESOS-3997 for the longer-term issue that we should switch to fixed 
point for resources.

> Check failed: result.cpus() == cpus() && result.mem() == mem() && 
> result.disk() == disk() && result.ports() == ports() 
> ---
>
> Key: MESOS-3552
> URL: https://issues.apache.org/jira/browse/MESOS-3552
> Project: Mesos
>  Issue Type: Bug
>  Components: master
>Affects Versions: 0.24.1
>Reporter: Mandeep Chadha
>Assignee: Mandeep Chadha
>
> result.cpus() == cpus() check is failing due to ( double == double ) 
> comparison problem. 
> Root Cause : 
> Framework requested 0.1 cpu reservation for the first task. So far so good. 
> Next Reserve operation — lead to double operations resulting in following 
> double values :
>  results.cpus() : 23.9964472863211995 cpus() : 24
> And the check ( result.cpus() == cpus() ) failed. 
>  The double arithmetic operations caused results.cpus() value to be :  
> 23.9964472863211995 and hence ( 23.9964472863211995 
> == 24 ) failed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-3552) Check failed: result.cpus() == cpus() && result.mem() == mem() && result.disk() == disk() && result.ports() == ports()

2015-10-06 Thread Mandeep Chadha (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-3552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14945473#comment-14945473
 ] 

Mandeep Chadha commented on MESOS-3552:
---

https://reviews.apache.org/r/39056/

> Check failed: result.cpus() == cpus() && result.mem() == mem() && 
> result.disk() == disk() && result.ports() == ports() 
> ---
>
> Key: MESOS-3552
> URL: https://issues.apache.org/jira/browse/MESOS-3552
> Project: Mesos
>  Issue Type: Bug
>  Components: master
>Affects Versions: 0.24.1
>Reporter: Mandeep Chadha
>Assignee: Mandeep Chadha
>
> result.cpus() == cpus() check is failing due to ( double == double ) 
> comparison problem. 
> Root Cause : 
> Framework requested 0.1 cpu reservation for the first task. So far so good. 
> Next Reserve operation — lead to double operations resulting in following 
> double values :
>  results.cpus() : 23.9964472863211995 cpus() : 24
> And the check ( result.cpus() == cpus() ) failed. 
>  The double arithmetic operations caused results.cpus() value to be :  
> 23.9964472863211995 and hence ( 23.9964472863211995 
> == 24 ) failed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-3552) Check failed: result.cpus() == cpus() && result.mem() == mem() && result.disk() == disk() && result.ports() == ports()

2015-10-05 Thread Klaus Ma (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-3552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14942976#comment-14942976
 ] 

Klaus Ma commented on MESOS-3552:
-

Yes, Glog/gtest has similar macro/function to check double, but not sure are we 
going to copy it into `stout` or are we going to use fixed precision (e.g. 
0.01) in Mesos.

> Check failed: result.cpus() == cpus() && result.mem() == mem() && 
> result.disk() == disk() && result.ports() == ports() 
> ---
>
> Key: MESOS-3552
> URL: https://issues.apache.org/jira/browse/MESOS-3552
> Project: Mesos
>  Issue Type: Bug
>  Components: master
>Affects Versions: 0.24.1
>Reporter: Mandeep Chadha
>Assignee: Mandeep Chadha
>
> result.cpus() == cpus() check is failing due to ( double == double ) 
> comparison problem. 
> Root Cause : 
> Framework requested 0.1 cpu reservation for the first task. So far so good. 
> Next Reserve operation — lead to double operations resulting in following 
> double values :
>  results.cpus() : 23.9964472863211995 cpus() : 24
> And the check ( result.cpus() == cpus() ) failed. 
>  The double arithmetic operations caused results.cpus() value to be :  
> 23.9964472863211995 and hence ( 23.9964472863211995 
> == 24 ) failed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-3552) Check failed: result.cpus() == cpus() && result.mem() == mem() && result.disk() == disk() && result.ports() == ports()

2015-09-30 Thread Klaus Ma (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-3552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14936443#comment-14936443
 ] 

Klaus Ma commented on MESOS-3552:
-

[~mchadha], any steps to reproduce this issue?

> Check failed: result.cpus() == cpus() && result.mem() == mem() && 
> result.disk() == disk() && result.ports() == ports() 
> ---
>
> Key: MESOS-3552
> URL: https://issues.apache.org/jira/browse/MESOS-3552
> Project: Mesos
>  Issue Type: Bug
>  Components: master
>Affects Versions: 0.24.1
>Reporter: Mandeep Chadha
>Assignee: Mandeep Chadha
>
> result.cpus() == cpus() check is failing due to ( double == double ) 
> comparison problem. 
> Root Cause : 
> Framework requested 0.1 cpu reservation for the first task. So far so good. 
> Next Reserve operation — lead to double operations resulting in following 
> double values :
>  results.cpus() : 23.9964472863211995 cpus() : 24
> And the check ( result.cpus() == cpus() ) failed. 
>  The double arithmetic operations caused results.cpus() value to be :  
> 23.9964472863211995 and hence ( 23.9964472863211995 
> == 24 ) failed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-3552) Check failed: result.cpus() == cpus() && result.mem() == mem() && result.disk() == disk() && result.ports() == ports()

2015-09-30 Thread Klaus Ma (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-3552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14936441#comment-14936441
 ] 

Klaus Ma commented on MESOS-3552:
-

This is a similar issue on checking double equal. [~bmahler], I'd suggest to 
have a util function to check double, and make the precision to 0.01 for 
example.

> Check failed: result.cpus() == cpus() && result.mem() == mem() && 
> result.disk() == disk() && result.ports() == ports() 
> ---
>
> Key: MESOS-3552
> URL: https://issues.apache.org/jira/browse/MESOS-3552
> Project: Mesos
>  Issue Type: Bug
>  Components: master
>Affects Versions: 0.24.1
>Reporter: Mandeep Chadha
>Assignee: Mandeep Chadha
>
> result.cpus() == cpus() check is failing due to ( double == double ) 
> comparison problem. 
> Root Cause : 
> Framework requested 0.1 cpu reservation for the first task. So far so good. 
> Next Reserve operation — lead to double operations resulting in following 
> double values :
>  results.cpus() : 23.9964472863211995 cpus() : 24
> And the check ( result.cpus() == cpus() ) failed. 
>  The double arithmetic operations caused results.cpus() value to be :  
> 23.9964472863211995 and hence ( 23.9964472863211995 
> == 24 ) failed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-3552) Check failed: result.cpus() == cpus() && result.mem() == mem() && result.disk() == disk() && result.ports() == ports()

2015-09-30 Thread Mandeep Chadha (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-3552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14937026#comment-14937026
 ] 

Mandeep Chadha commented on MESOS-3552:
---

One more example of ( double == double) check - though doesn't result in crash 
:) 

Util function will be useful but still have to be enforced. Maybe it is time to 
wrap double primitive into Double ( primitive wrapper class) ? That way we 
don't have to chase down every (double == double) check. 


https://github.com/apache/mesos/blob/master/src/master/allocator/sorter/drf/sorter.cpp#L34

bool DRFComparator::operator()(const Client& client1, const Client& client2)
{
  if (client1.share == client2.share) {
if (client1.allocations == client2.allocations) {
  return client1.name < client2.name;
}
return client1.allocations < client2.allocations;
  }
  return client1.share < client2.share;
}

Where share is double :

https://github.com/apache/mesos/blob/master/src/master/allocator/sorter/drf/sorter.hpp#L43
 

struct Client
{
  Client(const std::string& _name, double _share, uint64_t _allocations)
: name(_name), share(_share), allocations(_allocations) {}

  std::string name;
  double share;
---


As far as this bug, we can use :

"
The CHECK_DOUBLE_EQ macro checks the equality of two floating point values, 
accepting a small error margin. CHECK_NEAR accepts a third floating point 
argument, which specifies the acceptable error margin. 
"





> Check failed: result.cpus() == cpus() && result.mem() == mem() && 
> result.disk() == disk() && result.ports() == ports() 
> ---
>
> Key: MESOS-3552
> URL: https://issues.apache.org/jira/browse/MESOS-3552
> Project: Mesos
>  Issue Type: Bug
>  Components: master
>Affects Versions: 0.24.1
>Reporter: Mandeep Chadha
>Assignee: Mandeep Chadha
>
> result.cpus() == cpus() check is failing due to ( double == double ) 
> comparison problem. 
> Root Cause : 
> Framework requested 0.1 cpu reservation for the first task. So far so good. 
> Next Reserve operation — lead to double operations resulting in following 
> double values :
>  results.cpus() : 23.9964472863211995 cpus() : 24
> And the check ( result.cpus() == cpus() ) failed. 
>  The double arithmetic operations caused results.cpus() value to be :  
> 23.9964472863211995 and hence ( 23.9964472863211995 
> == 24 ) failed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-3552) Check failed: result.cpus() == cpus() && result.mem() == mem() && result.disk() == disk() && result.ports() == ports()

2015-09-30 Thread Mandeep Chadha (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-3552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14937031#comment-14937031
 ] 

Mandeep Chadha commented on MESOS-3552:
---


Framework : 
 Reserve 0.1 CPU 
 Launch task
 Reserve 0.1 CPU
-- Crash 

I will add a unit test. 



> Check failed: result.cpus() == cpus() && result.mem() == mem() && 
> result.disk() == disk() && result.ports() == ports() 
> ---
>
> Key: MESOS-3552
> URL: https://issues.apache.org/jira/browse/MESOS-3552
> Project: Mesos
>  Issue Type: Bug
>  Components: master
>Affects Versions: 0.24.1
>Reporter: Mandeep Chadha
>Assignee: Mandeep Chadha
>
> result.cpus() == cpus() check is failing due to ( double == double ) 
> comparison problem. 
> Root Cause : 
> Framework requested 0.1 cpu reservation for the first task. So far so good. 
> Next Reserve operation — lead to double operations resulting in following 
> double values :
>  results.cpus() : 23.9964472863211995 cpus() : 24
> And the check ( result.cpus() == cpus() ) failed. 
>  The double arithmetic operations caused results.cpus() value to be :  
> 23.9964472863211995 and hence ( 23.9964472863211995 
> == 24 ) failed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-3552) Check failed: result.cpus() == cpus() && result.mem() == mem() && result.disk() == disk() && result.ports() == ports()

2015-09-30 Thread James Peach (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-3552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14936979#comment-14936979
 ] 

James Peach commented on MESOS-3552:


FWIW, Glog has {{CHECK_DOUBLE_EQ}} for this.

> Check failed: result.cpus() == cpus() && result.mem() == mem() && 
> result.disk() == disk() && result.ports() == ports() 
> ---
>
> Key: MESOS-3552
> URL: https://issues.apache.org/jira/browse/MESOS-3552
> Project: Mesos
>  Issue Type: Bug
>  Components: master
>Affects Versions: 0.24.1
>Reporter: Mandeep Chadha
>Assignee: Mandeep Chadha
>
> result.cpus() == cpus() check is failing due to ( double == double ) 
> comparison problem. 
> Root Cause : 
> Framework requested 0.1 cpu reservation for the first task. So far so good. 
> Next Reserve operation — lead to double operations resulting in following 
> double values :
>  results.cpus() : 23.9964472863211995 cpus() : 24
> And the check ( result.cpus() == cpus() ) failed. 
>  The double arithmetic operations caused results.cpus() value to be :  
> 23.9964472863211995 and hence ( 23.9964472863211995 
> == 24 ) failed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-3552) Check failed: result.cpus() == cpus() && result.mem() == mem() && result.disk() == disk() && result.ports() == ports()

2015-09-29 Thread Mandeep Chadha (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-3552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14936089#comment-14936089
 ] 

Mandeep Chadha commented on MESOS-3552:
---

F0922 15:08:06.158139 306833 resources.cpp:872] Check failed: result.cpus() == 
cpus() && result.mem() == mem() && result.disk() == disk() && result.ports() == 
ports() 

https://github.com/apache/mesos/blob/master/src/common/resources.cpp#L869


Option Resources::cpus() const
{
  Option value = get("cpus");
  if (value.isSome()) {
return value.get().value();
  } else {
return None();
  }
}

https://github.com/apache/mesos/blob/master/3rdparty/libprocess/3rdparty/stout/include/stout/option.hpp#L118

  bool operator==(const Option& that) const
  {
return (isNone() && that.isNone()) ||
  (isSome() && that.isSome() && t == that.t);
  }

t == that.t ---> results in (double == double)   ( operator== for 
Option) 



> Check failed: result.cpus() == cpus() && result.mem() == mem() && 
> result.disk() == disk() && result.ports() == ports() 
> ---
>
> Key: MESOS-3552
> URL: https://issues.apache.org/jira/browse/MESOS-3552
> Project: Mesos
>  Issue Type: Bug
>  Components: master
>Affects Versions: 0.24.1
>Reporter: Mandeep Chadha
>Assignee: Mandeep Chadha
>
> result.cpus() == cpus() check is failing due to ( double == double ) 
> comparison problem. 
> Root Cause : 
> Framework requested 0.1 cpu reservation for the first task. So far so good. 
> Next Reserve operation — lead to double operations resulting in following 
> double values :
>  results.cpus() : 23.9964472863211995 cpus() : 24
> And the check ( result.cpus() == cpus() ) failed. 
>  The double arithmetic operations caused results.cpus() value to be :  
> 23.9964472863211995 and hence ( 23.9964472863211995 
> == 24 ) failed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-3552) Check failed: result.cpus() == cpus() && result.mem() == mem() && result.disk() == disk() && result.ports() == ports()

2015-09-29 Thread Benjamin Mahler (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-3552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14936096#comment-14936096
 ] 

Benjamin Mahler commented on MESOS-3552:


Thanks, can you also post the stack trace so we know where this is triggered?

> Check failed: result.cpus() == cpus() && result.mem() == mem() && 
> result.disk() == disk() && result.ports() == ports() 
> ---
>
> Key: MESOS-3552
> URL: https://issues.apache.org/jira/browse/MESOS-3552
> Project: Mesos
>  Issue Type: Bug
>  Components: master
>Affects Versions: 0.24.1
>Reporter: Mandeep Chadha
>Assignee: Mandeep Chadha
>
> result.cpus() == cpus() check is failing due to ( double == double ) 
> comparison problem. 
> Root Cause : 
> Framework requested 0.1 cpu reservation for the first task. So far so good. 
> Next Reserve operation — lead to double operations resulting in following 
> double values :
>  results.cpus() : 23.9964472863211995 cpus() : 24
> And the check ( result.cpus() == cpus() ) failed. 
>  The double arithmetic operations caused results.cpus() value to be :  
> 23.9964472863211995 and hence ( 23.9964472863211995 
> == 24 ) failed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-3552) Check failed: result.cpus() == cpus() && result.mem() == mem() && result.disk() == disk() && result.ports() == ports()

2015-09-29 Thread Benjamin Mahler (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-3552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14935885#comment-14935885
 ] 

Benjamin Mahler commented on MESOS-3552:


Could you please include a pointer to the code containing the check?

> Check failed: result.cpus() == cpus() && result.mem() == mem() && 
> result.disk() == disk() && result.ports() == ports() 
> ---
>
> Key: MESOS-3552
> URL: https://issues.apache.org/jira/browse/MESOS-3552
> Project: Mesos
>  Issue Type: Bug
>  Components: master
>Affects Versions: 0.24.1
>Reporter: Mandeep Chadha
>Assignee: Mandeep Chadha
>
> result.cpus() == cpus() check is failing due to ( double == double ) 
> comparison problem. 
> Root Cause : 
> Framework requested 0.1 cpu reservation for the first task. So far so good. 
> Next Reserve operation — lead to double operations resulting in following 
> double values :
>  results.cpus() : 23.9964472863211995 cpus() : 24
> And the check ( result.cpus() == cpus() ) failed. 
>  The double arithmetic operations caused results.cpus() value to be :  
> 23.9964472863211995 and hence ( 23.9964472863211995 
> == 24 ) failed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-3552) Check failed: result.cpus() == cpus() && result.mem() == mem() && result.disk() == disk() && result.ports() == ports()

2015-09-29 Thread Mandeep Chadha (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-3552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14936108#comment-14936108
 ] 

Mandeep Chadha commented on MESOS-3552:
---


F0923 23:18:43.559806  2653 resources.cpp:872] Check failed: result.cpus() == 
cpus() && result.mem() == mem() && result.disk() == disk() && result.ports() == 
ports()
*** Check failure stack trace: ***
@ 0x7f151e338f64  google::LogMessage::Fail()
@ 0x7f151e338f64  google::LogMessage::Fail()
@ 0x7f151e338eb3  google::LogMessage::SendToLog()
@ 0x7f151e338eb3  google::LogMessage::SendToLog()
@ 0x7f151e3388c4  google::LogMessage::Flush()
@ 0x7f151e3388c4  google::LogMessage::Flush()
@ 0x7f151e33b5f8  google::LogMessageFatal::~LogMessageFatal()
@ 0x7f151e33b5f8  google::LogMessageFatal::~LogMessageFatal()
@ 0x7f151d62029f  mesos::Resources::apply()
@ 0x7f151d62029f  mesos::Resources::apply()
@ 0x7f151d723c66  mesos::Resources::apply<>()
@ 0x7f151d7febf3  mesos::internal::master::Slave::apply()
@ 0x7f151d71fae2  
mesos::internal::master::allocator::HierarchicalAllocatorProcess<>::updateAllocation()
@ 0x7f151d7f0561  mesos::internal::master::Master::applyOfferOperation()
@ 0x7f151d72a8d0  
_ZZN7process8dispatchIN5mesos8internal6master9allocator21MesosAllocatorProcessERKNS1_11FrameworkIDERKNS1_7SlaveIDERKSt6vectorINS1_15Offer_OperationESaISD_EES6_S9_SF_EEvRKNS_3PIDIT_EEMSJ_FvT0_T1_T2_ET3_T4_T5_ENKUlPNS_11ProcessBaseEE_clESW_
@ 0x7f151d7d74f8  mesos::internal::master::Master::_accept()
@ 0x7f151d734764  
_ZNSt17_Function_handlerIFvPN7process11ProcessBaseEEZNS0_8dispatchIN5mesos8internal6master9allocator21MesosAllocatorProcessERKNS5_11FrameworkIDERKNS5_7SlaveIDERKSt6vectorINS5_15Offer_OperationESaISH_EESA_SD_SJ_EEvRKNS0_3PIDIT_EEMSN_FvT0_T1_T2_ET3_T4_T5_EUlS2_E_E9_M_invokeERKSt9_Any_dataS2_
@ 0x7f151d83d99d  
_ZZN7process8dispatchIN5mesos8internal6master6MasterERKNS1_11FrameworkIDERKNS1_7SlaveIDERKNS1_9ResourcesERKNS1_9scheduler11Call_AcceptERKNS_6FutureISt4listINSI_IbEESaISK_S5_S8_SB_SF_SN_EEvRKNS_3PIDIT_EEMSR_FvT0_T1_T2_T3_T4_ET5_T6_T7_T8_T9_ENKUlPNS_11ProcessBaseEE_clES18_
@ 0x7f151e2c1775  std::function<>::operator()()
@ 0x7f151d890865  
_ZNSt17_Function_handlerIFvPN7process11ProcessBaseEEZNS0_8dispatchIN5mesos8internal6master6MasterERKNS5_11FrameworkIDERKNS5_7SlaveIDERKNS5_9ResourcesERKNS5_9scheduler11Call_AcceptERKNS0_6FutureISt4listINSM_IbEESaISO_S9_SC_SF_SJ_SR_EEvRKNS0_3PIDIT_EEMSV_FvT0_T1_T2_T3_T4_ET5_T6_T7_T8_T9_EUlS2_E_E9_M_invokeERKSt9_Any_dataS2_
@ 0x7f151e2aa627  process::ProcessBase::visit()
@ 0x7f151e2c1775  std::function<>::operator()()
@ 0x7f151e2ad422  process::DispatchEvent::visit()
@   0x47558e  process::ProcessBase::serve()
@ 0x7f151e2a6c1b  process::ProcessManager::resume()
@ 0x7f151e2aa627  process::ProcessBase::visit()
@ 0x7f151e2ad422  process::DispatchEvent::visit()
@   0x47558e  process::ProcessBase::serve()
@ 0x7f151e29aff0  process::internal::schedule()
@ 0x7f151e2a6c1b  process::ProcessManager::resume()
@ 0x7f151e2fadc1  
_ZNSt12_Bind_simpleIFPFvvEvEE9_M_invokeIJEEEvSt12_Index_tupleIJXspT_EEE
@ 0x7f151e2fad11  std::_Bind_simple<>::operator()()
@ 0x7f151e29aff0  process::internal::schedule()
@ 0x7f151e2fadc1  
_ZNSt12_Bind_simpleIFPFvvEvEE9_M_invokeIJEEEvSt12_Index_tupleIJXspT_EEE
@ 0x7f151e2fad11  std::_Bind_simple<>::operator()()
@ 0x7f151e2facaa  std::thread::_Impl<>::_M_run()
@   0x31418b6470  (unknown)
@   0x31410079d1  (unknown)
@   0x31408e88fd  (unknown)
@  (nil)  (unknown)

> Check failed: result.cpus() == cpus() && result.mem() == mem() && 
> result.disk() == disk() && result.ports() == ports() 
> ---
>
> Key: MESOS-3552
> URL: https://issues.apache.org/jira/browse/MESOS-3552
> Project: Mesos
>  Issue Type: Bug
>  Components: master
>Affects Versions: 0.24.1
>Reporter: Mandeep Chadha
>Assignee: Mandeep Chadha
>
> result.cpus() == cpus() check is failing due to ( double == double ) 
> comparison problem. 
> Root Cause : 
> Framework requested 0.1 cpu reservation for the first task. So far so good. 
> Next Reserve operation — lead to double operations resulting in following 
> double values :
>  results.cpus() : 23.9964472863211995 cpus() : 24
> And the check ( result.cpus() == cpus() ) failed. 
>  The double arithmetic operations caused results.cpus() value to be :  
> 23.9964472863211995 and hence ( 23.9964472863211995 
> == 24 ) failed.



--
This message was sent