Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Dec 13 22:43
    ejsmith synchronize #452
  • Dec 13 22:43

    ejsmith on elastic7

    More reindex job changes (compare)

  • Dec 13 15:46
    ejsmith synchronize #452
  • Dec 13 15:46

    ejsmith on elastic7

    Just retry 3 times (compare)

  • Dec 13 15:44
    ejsmith synchronize #452
  • Dec 13 15:44

    ejsmith on elastic7

    More log message changes (compare)

  • Dec 13 14:25
    niemyjski synchronize #452
  • Dec 13 14:25

    niemyjski on elastic7

    Added retry reindex for disconn… (compare)

  • Dec 13 14:09
    niemyjski synchronize #452
  • Dec 13 14:09

    niemyjski on elastic7

    Updated migration to retry sock… (compare)

  • Dec 13 04:51
  • Dec 13 03:28
    ejsmith synchronize #452
  • Dec 13 03:28

    ejsmith on elastic7

    Oops progress (compare)

  • Dec 13 03:04
    ejsmith synchronize #452
  • Dec 13 03:04

    ejsmith on elastic7

    More log formatting (compare)

  • Dec 13 02:02
    ejsmith synchronize #452
  • Dec 13 02:02

    ejsmith on elastic7

    Fix tests? (compare)

  • Dec 13 01:18
    ejsmith synchronize #452
  • Dec 13 01:18

    ejsmith on elastic7

    Change duration format (compare)

  • Dec 13 00:39
    ejsmith synchronize #452
Blake Niemyjski
@niemyjski
@ejsmith do you want me to merge in the EventStats into Foundatio Elasticsearch repository read only base?
Eric J. Smith
@ejsmith
yeah, that would be nice.
Blake Niemyjski
@niemyjski
or a seperate class?
Eric J. Smith
@ejsmith
I think it would be good to have it as methods on the repo
Blake Niemyjski
@niemyjski
ok
O
I’ll merge it in with models cause I need the terms stuff on our repo
Sander Rijken
@srijken
ok, my search in .Modules was a stupid move. Conclusion now is that somehow the stacktrace is different
Blake Niemyjski
@niemyjski
how
it’s the same stack trace :\
that’s what I don’t get
I get that it could be different in mvc due to maybe a race condition in handlers but crazy
@ejsmith there’s really no good way to do this in the base class:
.WithDateRange(utcStart, utcEnd, EventIndex.Fields.PersistentEvent.Date)
.WithIndices(utcStart, utcEnd, $"'{_eventIndex.VersionedName}-'yyyyMM");
Sander Rijken
@srijken
hmf
getting quantum physics feelings right now
I’m inspecting where it’s probably failing
and it no longer fails
got it
Checking event:  with hash: 754157865 1407249123 GetException: 766225261 - ILOffset 8 - NativeOffset87
Checking event:  with hash: 752981631 1924808933 GetException: 217121131 - ILOffset 0 - NativeOffset87
Checking event:  with hash: 754157865 1407249123 GetException: 766225261 - ILOffset 8 - NativeOffset87
Checking event:  with hash: 754157865 1407249123 GetException: 766225261 - ILOffset 8 - NativeOffset87
Checking event:  with hash: 754157865 1407249123 GetException: 766225261 - ILOffset 8 - NativeOffset87
var error = context.Event.Data["@error"] as Exceptionless.Models.Data.Error;
            context.Log.FormattedInfo(typeof(DuplicateCheckerPlugin), String.Concat("Checking event: ", context.Event.Message, " with hash: ", hashCode + " " + error.StackTrace.GetCollectionHashCode() +
                 " " + string.Join(", ", error.StackTrace.Select(x => x.Name + ": " + x.GetHashCode() + " - ILOffset " + x.Data["ILOffset"] + " - NativeOffset" + x.Data["NativeOffset"]))));
so.. now what?
@niemyjski can you try this change, see if it fixes the real-world problem you were seeing?
Blake Niemyjski
@niemyjski
yeah
Sander Rijken
@srijken
hashCode = (hashCode * 397) ^ (Data == null ? 0 : Data.GetCollectionHashCode(new[] { "ILOffset" }));
Blake Niemyjski
@niemyjski
wonder if we should get rid of native offset too
Sander Rijken
@srijken
now my mac is slow
that code goes in Method
Blake Niemyjski
@niemyjski
wonder why the iloffset would be different on the same executing code
Sander Rijken
@srijken
maybe it’s some kind of optimization thing
JIT and pre-JIT or something
Blake Niemyjski
@niemyjski
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\EnvironmentInfo.cs(131): hashCode = (hashCode 397) ^ (Data == null ? 0 : Data.GetHashCode());
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\InnerError.cs(64): hashCode = (hashCode
397) ^ (Data == null ? 0 : Data.GetHashCode());
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\Method.cs(42): hashCode = (hashCode 397) ^ (Data == null ? 0 : Data.GetCollectionHashCode(new[] { "ILOffset" }));
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\Module.cs(51): hashCode = (hashCode
397) ^ (Data == null ? 0 : Data.GetHashCode());
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\Parameter.cs(36): hashCode = (hashCode 397) ^ (Data == null ? 0 : Data.GetHashCode());
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\RequestInfo.cs(100): hashCode = (hashCode
397) ^ (Data == null ? 0 : Data.GetHashCode());
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\SimpleError.cs(53): hashCode = (hashCode 397) ^ (Data == null ? 0 : Data.GetHashCode());
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\UserDescription.cs(43): hashCode = (hashCode
397) ^ (Data == null ? 0 : Data.GetHashCode());
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\UserInfo.cs(52): hashCode = (hashCode 397) ^ (Data == null ? 0 : Data.GetHashCode());
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Event.cs(82): hashCode = (hashCode
397) ^ (Data == null ? 0 : Data.GetHashCode());
should we change all of those to GetCollectionHashCode?
Sander Rijken
@srijken
yep
and dump DataDictionary.GetHashCode()
Blake Niemyjski
@niemyjski
dump?
I changed all those to GetCollectionHashCode
Sander Rijken
@srijken
the code inside DataDictionary, that can be removed
Blake Niemyjski
@niemyjski
ok
Sander Rijken
@srijken
“My understanding is that, when provided, the IL offset is simply mapped from the native offset using a table generated at JIT time (which may be an approximation due to optimizations). For the leaf native-frame, the native offset is where the exception was thrown while non-leaf native frames use the return address from the stack which may make it look like the exception was thrown by the instruction following the one where the exception actually happened."
Blake Niemyjski
@niemyjski
hmm ok
so get rid of the equals and gethashcode overrides in the data
Sander Rijken
@srijken
yeah
Blake Niemyjski
@niemyjski
ok
wonderingi f we should leave it as it’s not hurting anything
Sander Rijken
@srijken
this dedupe thing?
Blake Niemyjski
@niemyjski
the equals and get hashcode on data dictionary
if you look on the data dictionary we are telling it to ignore tracelogs
Sander Rijken
@srijken
hmf