crunch-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gabriel Reid (JIRA)" <>
Subject [jira] [Commented] (CRUNCH-346) Don't deep-copy immutable Writable PTypes
Date Sun, 16 Feb 2014 18:02:20 GMT


Gabriel Reid commented on CRUNCH-346:

Ok, I'll put together a patch for this.

About the fact that the correct primitive handling is only done for Avro -- there's no technical
reason for this, as far as I'm aware. Instead, it's just that the the short-circuiting to
a no-op for the deep-copying was never done for Writables. All of your understanding of the
deep-copying is correct as you described it.

> Don't deep-copy immutable Writable PTypes
> -----------------------------------------
>                 Key: CRUNCH-346
>                 URL:
>             Project: Crunch
>          Issue Type: Improvement
>            Reporter: Chao Shi
> I found getDetachedValue() appears quite often when jstack on one of my pipeline. A piece
of stacktrace is shown below. In the pipeline, most of types we used are immutable (e.g. java
primitives, strings, protobuf). I think we can avoid deep-copy overhead here.
> "main" prio=10 tid=0x00007f0de801d800 nid=0x7ef runnable [0x00007f0dee66c000]
>    java.lang.Thread.State: RUNNABLE
> 	at<init>(
> 	at<init>(
> 	at sun.reflect.GeneratedConstructorAccessor9.newInstance(Unknown Source)
> 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
> 	at java.lang.reflect.Constructor.newInstance(
> 	at java.lang.Class.newInstance0(
> 	at java.lang.Class.newInstance(
> 	at org.apache.crunch.types.writable.WritableDeepCopier.deepCopy(
> 	at org.apache.crunch.types.writable.WritableDeepCopier.deepCopy(
> 	at org.apache.crunch.types.writable.WritableType.getDetachedValue(
> 	at

This message was sent by Atlassian JIRA

View raw message