Class cascading.tap.hadoop.HadoopMR1TapPlatformTest
|
100%
successful |
Tests
Test | Duration | Result |
---|---|---|
testCombinedHfs | 24.074s | passed |
testCombinedPartitionTap | 36.281s | passed |
Standard output
2016-01-15 02:33:00,871 INFO platform.PlatformRunner (PlatformRunner.java:getPlatformClassesFromClasspath(195)) - found 1 test platforms from classpath 2016-01-15 02:33:00,898 INFO platform.PlatformRunner (PlatformRunner.java:addPlatform(244)) - adding test: cascading.tap.hadoop.HadoopMR1TapPlatformTest, with platform: hadoop2-mr1 2016-01-15 02:33:00,931 INFO hadoop2.Hadoop2MR1Platform (Hadoop2MR1Platform.java:setUp(136)) - using cluster 2016-01-15 02:33:02,022 WARN util.NativeCodeLoader (NativeCodeLoader.java:<clinit>(62)) - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Formatting using clusterid: testClusterID 2016-01-15 02:33:02,699 WARN impl.MetricsConfig (MetricsConfig.java:loadFirst(124)) - Cannot locate configuration: tried hadoop-metrics2-namenode.properties,hadoop-metrics2.properties 2016-01-15 02:33:07,106 WARN containermanager.AuxServices (AuxServices.java:serviceInit(130)) - The Auxilurary Service named 'mapreduce_shuffle' in the configuration is for class class org.apache.hadoop.mapred.ShuffleHandler which has a name of 'httpshuffle'. Because these are not the same tools trying to send ServiceData and read Service Meta Data may have issues unless the refer to the name in the config. 2016-01-15 02:33:07,309 WARN containermanager.AuxServices (AuxServices.java:serviceInit(130)) - The Auxilurary Service named 'mapreduce_shuffle' in the configuration is for class class org.apache.hadoop.mapred.ShuffleHandler which has a name of 'httpshuffle'. Because these are not the same tools trying to send ServiceData and read Service Meta Data may have issues unless the refer to the name in the config. 2016-01-15 02:33:07,489 WARN containermanager.AuxServices (AuxServices.java:serviceInit(130)) - The Auxilurary Service named 'mapreduce_shuffle' in the configuration is for class class org.apache.hadoop.mapred.ShuffleHandler which has a name of 'httpshuffle'. Because these are not the same tools trying to send ServiceData and read Service Meta Data may have issues unless the refer to the name in the config. 2016-01-15 02:33:07,660 WARN containermanager.AuxServices (AuxServices.java:serviceInit(130)) - The Auxilurary Service named 'mapreduce_shuffle' in the configuration is for class class org.apache.hadoop.mapred.ShuffleHandler which has a name of 'httpshuffle'. Because these are not the same tools trying to send ServiceData and read Service Meta Data may have issues unless the refer to the name in the config. 2016-01-15 02:33:24,771 INFO platform.TestPlatform (TestPlatform.java:getGlobalProperties(73)) - platform property overrides: 2016-01-15 02:33:25,038 INFO util.Util (Util.java:findMainClass(1327)) - using default application jar, may cause class not found exceptions on the cluster 2016-01-15 02:33:25,039 INFO planner.HadoopPlanner (HadoopPlanner.java:initialize(174)) - using application jar: /opt/concurrent/home/teamcity/.gradle/caches/modules-2/files-2.1/cascading/cascading-hadoop2-mr1/3.0.4/6099926be810c2c62f4bd24f369d52cdd84cf31d/cascading-hadoop2-mr1-3.0.4.jar 2016-01-15 02:33:25,117 INFO property.AppProps (AppProps.java:getAppID(177)) - using app.id: 1702A923EE9544F59F7F90AFBD4B5C87 2016-01-15 02:33:25,215 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [partition] executed rule registry: MapReduceHadoopRuleRegistry, completed as: SUCCESS, in: 00:00.065 2016-01-15 02:33:25,218 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [partition] rule registry: MapReduceHadoopRuleRegistry, supports assembly with steps: 1, nodes: 1 2016-01-15 02:33:25,218 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [partition] rule registry: MapReduceHadoopRuleRegistry, result was selected using: 'default comparator: selects plan with fewest steps and fewest nodes' 2016-01-15 02:33:25,333 INFO util.Version (Version.java:printBanner(82)) - Concurrent, Inc - Cascading 3.0.4 2016-01-15 02:33:25,334 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [partition] starting 2016-01-15 02:33:25,335 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [partition] source: Hfs["TextDelimited[['number', 'lower']]"]["/opt/buildAgent-8.0.3/work/aa7cf7440ab7c2d9/apache-2.6.x/build/classes/test/data/lower.txt"] 2016-01-15 02:33:25,335 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [partition] sink: PartitionTap["Hfs["TextDelimited[['lower']]"]["/opt/buildAgent-8.0.3/work/aa7cf7440ab7c2d9/apache-2.6.x/build/test/output/hadoop2-mr1/hadoopmr1tapplatform/testCombinedPartitionTap/combinedpartition/partitioned"]"]["cascading.tap.partition.DelimitedPartition@5bf978bb"] 2016-01-15 02:33:25,336 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [partition] parallel execution of steps is enabled: true 2016-01-15 02:33:25,336 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [partition] executing total steps: 1 2016-01-15 02:33:25,336 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [partition] allocating management threads: 1 2016-01-15 02:33:25,338 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [partition] starting step: (1/1) ...inedpartition/partitioned 2016-01-15 02:33:26,217 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [partition] submitted hadoop job: job_1452825199269_0001 2016-01-15 02:33:26,217 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [partition] tracking url: http://ip-10-167-78-165:49885/proxy/application_1452825199269_0001/ 2016-01-15 02:33:45,334 WARN nodemanager.DefaultContainerExecutor (DefaultContainerExecutor.java:launchContainer(223)) - Exit code from container container_1452825199269_0001_01_000003 is : 143 2016-01-15 02:33:45,587 WARN nodemanager.DefaultContainerExecutor (DefaultContainerExecutor.java:launchContainer(223)) - Exit code from container container_1452825199269_0001_01_000006 is : 143 2016-01-15 02:33:45,677 WARN nodemanager.DefaultContainerExecutor (DefaultContainerExecutor.java:launchContainer(223)) - Exit code from container container_1452825199269_0001_01_000002 is : 143 2016-01-15 02:33:46,363 WARN nodemanager.DefaultContainerExecutor (DefaultContainerExecutor.java:launchContainer(223)) - Exit code from container container_1452825199269_0001_01_000005 is : 143 2016-01-15 02:33:46,750 WARN nodemanager.DefaultContainerExecutor (DefaultContainerExecutor.java:launchContainer(223)) - Exit code from container container_1452825199269_0001_01_000004 is : 143 2016-01-15 02:33:47,992 INFO util.Hadoop18TapUtil (Hadoop18TapUtil.java:cleanTempPath(226)) - deleting temp path /opt/buildAgent-8.0.3/work/aa7cf7440ab7c2d9/apache-2.6.x/build/test/output/hadoop2-mr1/hadoopmr1tapplatform/testCombinedPartitionTap/combinedpartition/partitioned/_temporary 2016-01-15 02:33:47,995 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [partition] completed in: 00:22.653, using cpu time: 00:05.590 2016-01-15 02:33:48,014 INFO util.Util (Util.java:findMainClass(1327)) - using default application jar, may cause class not found exceptions on the cluster 2016-01-15 02:33:48,014 INFO planner.HadoopPlanner (HadoopPlanner.java:initialize(174)) - using application jar: /opt/concurrent/home/teamcity/.gradle/caches/modules-2/files-2.1/cascading/cascading-hadoop2-mr1/3.0.4/6099926be810c2c62f4bd24f369d52cdd84cf31d/cascading-hadoop2-mr1-3.0.4.jar 2016-01-15 02:33:48,058 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [copy] executed rule registry: MapReduceHadoopRuleRegistry, completed as: SUCCESS, in: 00:00.035 2016-01-15 02:33:48,061 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [copy] rule registry: MapReduceHadoopRuleRegistry, supports assembly with steps: 1, nodes: 1 2016-01-15 02:33:48,062 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [copy] rule registry: MapReduceHadoopRuleRegistry, result was selected using: 'default comparator: selects plan with fewest steps and fewest nodes' 2016-01-15 02:33:48,092 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [copy] starting 2016-01-15 02:33:48,092 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [copy] source: PartitionTap["Hfs["TextDelimited[['lower']]"]["/opt/buildAgent-8.0.3/work/aa7cf7440ab7c2d9/apache-2.6.x/build/test/output/hadoop2-mr1/hadoopmr1tapplatform/testCombinedPartitionTap/combinedpartition/partitioned"]"]["cascading.tap.partition.DelimitedPartition@5bf978bb"] 2016-01-15 02:33:48,092 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [copy] sink: Hfs["TextDelimited[['number', 'lower']]"]["/opt/buildAgent-8.0.3/work/aa7cf7440ab7c2d9/apache-2.6.x/build/test/output/hadoop2-mr1/hadoopmr1tapplatform/testCombinedPartitionTap/combinedpartition/final"] 2016-01-15 02:33:48,093 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [copy] parallel execution of steps is enabled: true 2016-01-15 02:33:48,093 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [copy] executing total steps: 1 2016-01-15 02:33:48,093 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [copy] allocating management threads: 1 2016-01-15 02:33:48,094 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [copy] starting step: (1/1) ...p/combinedpartition/final 2016-01-15 02:33:48,270 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [copy] submitted hadoop job: job_1452825199269_0002 2016-01-15 02:33:48,270 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [copy] tracking url: http://ip-10-167-78-165:49885/proxy/application_1452825199269_0002/ 2016-01-15 02:33:59,996 WARN nodemanager.DefaultContainerExecutor (DefaultContainerExecutor.java:launchContainer(223)) - Exit code from container container_1452825199269_0002_01_000002 is : 143 2016-01-15 02:34:01,223 INFO util.Hadoop18TapUtil (Hadoop18TapUtil.java:cleanTempPath(226)) - deleting temp path /opt/buildAgent-8.0.3/work/aa7cf7440ab7c2d9/apache-2.6.x/build/test/output/hadoop2-mr1/hadoopmr1tapplatform/testCombinedPartitionTap/combinedpartition/final/_temporary 2016-01-15 02:34:01,227 INFO flow.Flow (BaseFlow.java:logInfo(1433)) - [copy] completed in: 00:13.129, using cpu time: 00:00.920 2016-01-15 02:34:01,255 INFO cascading.PlatformTestCase (PlatformTestCase.java:tearDown(189)) - copying to local /opt/buildAgent-8.0.3/work/aa7cf7440ab7c2d9/apache-2.6.x/build/test/output//hadoop2-mr1/hadoopmr1tapplatform/testCombinedPartitionTap/combinedpartition/partitioned 2016-01-15 02:34:01,279 INFO cascading.PlatformTestCase (PlatformTestCase.java:tearDown(189)) - copying to local /opt/buildAgent-8.0.3/work/aa7cf7440ab7c2d9/apache-2.6.x/build/test/output//hadoop2-mr1/hadoopmr1tapplatform/testCombinedPartitionTap/combinedpartition/final
Standard error
Exception in thread "org.apache.hadoop.util.JvmPauseMonitor$Monitor@562c4ce5" java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.elapsedMillis()J at org.apache.hadoop.util.JvmPauseMonitor$Monitor.run(JvmPauseMonitor.java:184) at java.lang.Thread.run(Thread.java:745) Exception in thread "org.apache.hadoop.util.JvmPauseMonitor$Monitor@1dc8e190" java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.elapsedMillis()J at org.apache.hadoop.util.JvmPauseMonitor$Monitor.run(JvmPauseMonitor.java:184) at java.lang.Thread.run(Thread.java:745) Exception in thread "org.apache.hadoop.util.JvmPauseMonitor$Monitor@31e70671" java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.elapsedMillis()J at org.apache.hadoop.util.JvmPauseMonitor$Monitor.run(JvmPauseMonitor.java:184) at java.lang.Thread.run(Thread.java:745) Exception in thread "org.apache.hadoop.util.JvmPauseMonitor$Monitor@4d94bda6" java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.elapsedMillis()J at org.apache.hadoop.util.JvmPauseMonitor$Monitor.run(JvmPauseMonitor.java:184) at java.lang.Thread.run(Thread.java:745) Exception in thread "org.apache.hadoop.util.JvmPauseMonitor$Monitor@703e1588" java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.elapsedMillis()J at org.apache.hadoop.util.JvmPauseMonitor$Monitor.run(JvmPauseMonitor.java:184) at java.lang.Thread.run(Thread.java:745) Jan 15, 2016 2:33:19 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory register INFO: Registering org.apache.hadoop.mapreduce.v2.hs.webapp.HsWebServices as a root resource class Jan 15, 2016 2:33:19 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory register INFO: Registering org.apache.hadoop.mapreduce.v2.hs.webapp.JAXBContextResolver as a provider class Jan 15, 2016 2:33:19 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory register INFO: Registering org.apache.hadoop.yarn.webapp.GenericExceptionHandler as a provider class Jan 15, 2016 2:33:19 AM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate INFO: Initiating Jersey application, version 'Jersey: 1.9 09/02/2011 11:17 AM' Jan 15, 2016 2:33:19 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory getComponentProvider INFO: Binding org.apache.hadoop.mapreduce.v2.hs.webapp.JAXBContextResolver to GuiceManagedComponentProvider with the scope "Singleton" Jan 15, 2016 2:33:20 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory getComponentProvider INFO: Binding org.apache.hadoop.yarn.webapp.GenericExceptionHandler to GuiceManagedComponentProvider with the scope "Singleton" Jan 15, 2016 2:33:20 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory getComponentProvider INFO: Binding org.apache.hadoop.mapreduce.v2.hs.webapp.HsWebServices to GuiceManagedComponentProvider with the scope "PerRequest" Jan 15, 2016 2:33:20 AM com.google.inject.servlet.GuiceFilter setPipeline WARNING: Multiple Servlet injectors detected. This is a warning indicating that you have more than one GuiceFilter running in your web application. If this is deliberate, you may safely ignore this message. If this is NOT deliberate however, your application may not work as expected. Jan 15, 2016 2:33:20 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory register INFO: Registering org.apache.hadoop.yarn.server.resourcemanager.webapp.JAXBContextResolver as a provider class Jan 15, 2016 2:33:20 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory register INFO: Registering org.apache.hadoop.yarn.server.resourcemanager.webapp.RMWebServices as a root resource class Jan 15, 2016 2:33:20 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory register INFO: Registering org.apache.hadoop.yarn.webapp.GenericExceptionHandler as a provider class Jan 15, 2016 2:33:20 AM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate INFO: Initiating Jersey application, version 'Jersey: 1.9 09/02/2011 11:17 AM' Jan 15, 2016 2:33:20 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory getComponentProvider INFO: Binding org.apache.hadoop.yarn.server.resourcemanager.webapp.JAXBContextResolver to GuiceManagedComponentProvider with the scope "Singleton" Jan 15, 2016 2:33:21 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory getComponentProvider INFO: Binding org.apache.hadoop.yarn.webapp.GenericExceptionHandler to GuiceManagedComponentProvider with the scope "Singleton" Jan 15, 2016 2:33:21 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory getComponentProvider INFO: Binding org.apache.hadoop.yarn.server.resourcemanager.webapp.RMWebServices to GuiceManagedComponentProvider with the scope "Singleton" Jan 15, 2016 2:33:21 AM com.google.inject.servlet.GuiceFilter setPipeline WARNING: Multiple Servlet injectors detected. This is a warning indicating that you have more than one GuiceFilter running in your web application. If this is deliberate, you may safely ignore this message. If this is NOT deliberate however, your application may not work as expected. Jan 15, 2016 2:33:21 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory register INFO: Registering org.apache.hadoop.yarn.server.nodemanager.webapp.NMWebServices as a root resource class Jan 15, 2016 2:33:21 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory register INFO: Registering org.apache.hadoop.yarn.webapp.GenericExceptionHandler as a provider class Jan 15, 2016 2:33:21 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory register INFO: Registering org.apache.hadoop.yarn.server.nodemanager.webapp.JAXBContextResolver as a provider class Jan 15, 2016 2:33:21 AM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate INFO: Initiating Jersey application, version 'Jersey: 1.9 09/02/2011 11:17 AM' Jan 15, 2016 2:33:21 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory getComponentProvider INFO: Binding org.apache.hadoop.yarn.server.nodemanager.webapp.JAXBContextResolver to GuiceManagedComponentProvider with the scope "Singleton" Jan 15, 2016 2:33:21 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory getComponentProvider INFO: Binding org.apache.hadoop.yarn.webapp.GenericExceptionHandler to GuiceManagedComponentProvider with the scope "Singleton" Jan 15, 2016 2:33:22 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory getComponentProvider INFO: Binding org.apache.hadoop.yarn.server.nodemanager.webapp.NMWebServices to GuiceManagedComponentProvider with the scope "Singleton" Jan 15, 2016 2:33:22 AM com.google.inject.servlet.GuiceFilter setPipeline WARNING: Multiple Servlet injectors detected. This is a warning indicating that you have more than one GuiceFilter running in your web application. If this is deliberate, you may safely ignore this message. If this is NOT deliberate however, your application may not work as expected. Jan 15, 2016 2:33:22 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory register INFO: Registering org.apache.hadoop.yarn.server.nodemanager.webapp.NMWebServices as a root resource class Jan 15, 2016 2:33:22 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory register INFO: Registering org.apache.hadoop.yarn.webapp.GenericExceptionHandler as a provider class Jan 15, 2016 2:33:22 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory register INFO: Registering org.apache.hadoop.yarn.server.nodemanager.webapp.JAXBContextResolver as a provider class Jan 15, 2016 2:33:22 AM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate INFO: Initiating Jersey application, version 'Jersey: 1.9 09/02/2011 11:17 AM' Jan 15, 2016 2:33:22 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory getComponentProvider INFO: Binding org.apache.hadoop.yarn.server.nodemanager.webapp.JAXBContextResolver to GuiceManagedComponentProvider with the scope "Singleton" Jan 15, 2016 2:33:22 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory getComponentProvider INFO: Binding org.apache.hadoop.yarn.webapp.GenericExceptionHandler to GuiceManagedComponentProvider with the scope "Singleton" Jan 15, 2016 2:33:23 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory getComponentProvider INFO: Binding org.apache.hadoop.yarn.server.nodemanager.webapp.NMWebServices to GuiceManagedComponentProvider with the scope "Singleton" Jan 15, 2016 2:33:23 AM com.google.inject.servlet.GuiceFilter setPipeline WARNING: Multiple Servlet injectors detected. This is a warning indicating that you have more than one GuiceFilter running in your web application. If this is deliberate, you may safely ignore this message. If this is NOT deliberate however, your application may not work as expected. Jan 15, 2016 2:33:23 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory register INFO: Registering org.apache.hadoop.yarn.server.nodemanager.webapp.NMWebServices as a root resource class Jan 15, 2016 2:33:23 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory register INFO: Registering org.apache.hadoop.yarn.webapp.GenericExceptionHandler as a provider class Jan 15, 2016 2:33:23 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory register INFO: Registering org.apache.hadoop.yarn.server.nodemanager.webapp.JAXBContextResolver as a provider class Jan 15, 2016 2:33:23 AM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate INFO: Initiating Jersey application, version 'Jersey: 1.9 09/02/2011 11:17 AM' Jan 15, 2016 2:33:23 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory getComponentProvider INFO: Binding org.apache.hadoop.yarn.server.nodemanager.webapp.JAXBContextResolver to GuiceManagedComponentProvider with the scope "Singleton" Jan 15, 2016 2:33:24 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory getComponentProvider INFO: Binding org.apache.hadoop.yarn.webapp.GenericExceptionHandler to GuiceManagedComponentProvider with the scope "Singleton" Jan 15, 2016 2:33:24 AM com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory getComponentProvider INFO: Binding org.apache.hadoop.yarn.server.nodemanager.webapp.NMWebServices to GuiceManagedComponentProvider with the scope "Singleton" Jan 15, 2016 2:33:24 AM com.google.inject.servlet.GuiceFilter setPipeline WARNING: Multiple Servlet injectors detected. This is a warning indicating that you have more than one GuiceFilter running in your web application. If this is deliberate, you may safely ignore this message. If this is NOT deliberate however, your application may not work as expected.