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

Updating RethinkDb to 1.12 breaks tests #171

Closed
dragan opened this issue Apr 18, 2014 · 10 comments
Closed

Updating RethinkDb to 1.12 breaks tests #171

dragan opened this issue Apr 18, 2014 · 10 comments
Assignees

Comments

@dragan
Copy link
Collaborator

dragan commented Apr 18, 2014

Just updated my local machine and the CI server to RethinkDb 1.12.3. I then ran the test suite and we have some failing tests. This version must have some breaking changes. I haven't dug into them yet, just creating an issue for reference.

@dragan dragan changed the title Updating to 1.12 breaks tests Updating RethinkDb to 1.12 breaks tests Apr 18, 2014
@mfenniak
Copy link
Owner

Thanks for bringing this up, Dale. Looks like there are 16 test failures. Two classes of failures, one is some of the reduce tests, and the other is all of the grouping tests. I suppose the real question in fixing these is whether there's any value to maintaining compatibility with the pre-1.12 RethinkDB releases; that'd make this a potentially complicated fix. I'd probably lean towards not having backward compatibility.

I'll probably find some time to look into these errors this weekend, or within a week at the latest, but if anyone else is interested in taking a look, feel free!

Reduce tests are failing like this:

7) Test Error : RethinkDb.Test.Integration.TableTests.Reduce
   System.AggregateException : 
  ----> RethinkDb.RethinkDbRuntimeException : Runtime error: Cannot reduce over an empty stream.
  at System.Threading.Tasks.Task.Wait (Int32 millisecondsTimeout, CancellationToken cancellationToken) [0x00000] in <filename unknown>:0 
  at System.Threading.Tasks.Task.Wait () [0x00000] in <filename unknown>:0 
  at RethinkDb.Test.Integration.TableTests.Reduce () [0x00000] in <filename unknown>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
--RethinkDbRuntimeException
  at RethinkDb.Connection+<RunAsync>c__async6`1[RethinkDb.Test.Integration.TestObject].MoveNext () [0x00000] in <filename unknown>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 
  at System.Runtime.CompilerServices.TaskAwaiter`1[RethinkDb.Test.Integration.TestObject].GetResult () [0x00000] in <filename unknown>:0 
  at RethinkDb.ConnectionFactories.ReliableConnectionFactory+ReliableConnectionWrapper+<RetryRunAsync>c__async0`1[RethinkDb.Test.Integration.TestObject].MoveNext () [0x00000] in <filename unknown>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 
  at System.Runtime.CompilerServices.TaskAwaiter`1[RethinkDb.Test.Integration.TestObject].GetResult () [0x00000] in <filename unknown>:0 
  at RethinkDb.Test.Integration.TableTests+<DoReduce>c__async5.MoveNext () [0x00000] in <filename unknown>:0 

Group tests are failing like this:

1) Test Error : RethinkDb.Test.Integration.GroupingTests.GroupByAvg
   System.AggregateException : 
  ----> RethinkDb.RethinkDbInternalErrorException : Client error: MALFORMED PROTOBUF (missing field `type`):
args {
  type: TABLE
  args {
    type: DB
    args {
      type: DATUM
      datum {
        type: R_STR
        r_str: "test"
      }
    }
  }
  args {
    type: DATUM
    datum {
      type: R_STR
      r_str: "table"
    }
  }
}
args {
  type: MAKE_ARRAY
  args {
    type: DATUM
    datum {
      type: R_STR
      r_str: "name"
    }
  }
}
args {
  type: MAKE_OBJ
  optargs {
    key: "AVG"
    val {
      type: DATUM
      datum {
        type: R_STR
        r_str: "number"
      }
    }
  }
}
1: 47

  at System.Threading.Tasks.Task.Wait (Int32 millisecondsTimeout, CancellationToken cancellationToken) [0x00000] in <filename unknown>:0 
  at System.Threading.Tasks.Task.Wait () [0x00000] in <filename unknown>:0 
  at System.Threading.Tasks.Task`1[System.Boolean].get_Result () [0x00000] in <filename unknown>:0 
  at RethinkDb.TaskUtilities.ExecuteSynchronously[Boolean] (System.Func`1 taskDelegate) [0x00000] in <filename unknown>:0 
  at RethinkDb.SynchronousApiExtensions+AsyncEnumeratorSynchronizer`1[System.Tuple`2[<>__AnonType3`1[System.String],System.Double]].MoveNext () [0x00000] in <filename unknown>:0 
  at RethinkDb.Test.Integration.GroupingTests.GroupByAvg () [0x00000] in <filename unknown>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
--RethinkDbInternalErrorException
  at RethinkDb.Connection+QueryEnumerator`1+<ReissueQuery>c__async1[System.Tuple`2[<>__AnonType3`1[System.String],System.Double]].MoveNext () [0x00000] in <filename unknown>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in <filename unknown>:0 
  at RethinkDb.Connection+QueryEnumerator`1+<MoveNext>c__async2[System.Tuple`2[<>__AnonType3`1[System.String],System.Double]].MoveNext () [0x00000] in <filename unknown>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 
  at System.Runtime.CompilerServices.TaskAwaiter`1[System.Boolean].GetResult () [0x00000] in <filename unknown>:0 
  at RethinkDb.ConnectionFactories.ReliableConnectionFactory+RetryAsyncEnumeratorWrapper`1+<MoveNext>c__async0[System.Tuple`2[<>__AnonType3`1[System.String],System.Double]].MoveNext () [0x00000] in <filename unknown>:0 

@karlgrz
Copy link
Collaborator

karlgrz commented Apr 22, 2014

I have some time this evening, I plan to fix this unless you have already started.

@mfenniak
Copy link
Owner

I haven't gotten anything started on this. Thanks Karl.

@karlgrz
Copy link
Collaborator

karlgrz commented Apr 23, 2014

Looks like need to regenerate rethinkdb_spec.proto, when I diff what we have with the rethinkdb repo it appears all the terms that are failing our tests are included in the new one.

I'll get that generated and checked in after work today.

@karlgrz
Copy link
Collaborator

karlgrz commented Apr 23, 2014

Nm...was able to regenerate on the train, running the tests now.

@karlgrz
Copy link
Collaborator

karlgrz commented Apr 23, 2014

Bad assumption, that introduced other failures. I think I'm on the right track, though.

@mfenniak
Copy link
Owner

If you're going to regenerate the protobuf stuff, note that there is a script to do so in the the rethinkdb-net directory. Some post processing is done as part of the script to fix some compile issues.

@karlgrz
Copy link
Collaborator

karlgrz commented Apr 23, 2014

Yessir, I used that. Afterwards (it cleanly created everything) I re-ran the tests and there were similar failures, so I think that was wrong of me to assume that was the source of the issue. I think it's in our code, though I am going to investigate later to eliminate guessing.

@lucasjans
Copy link
Contributor

+1 vote for dropping support for pre-1.12. RethinkDB offers a migration path for people interested in the latest and greatest. Otherwise there can always be an older branch of this project.

@mfenniak
Copy link
Owner

Fixed be PR #173.

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

4 participants