Packages

object LockHandler extends Serializable

Linear Supertypes
Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LockHandler
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type PutFunction[F[_], A] = (Application, Item, UUID, A) ⇒ F[(UUID, Instant)]

    Wrapper for function that performs put and can add some payload of A

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def Default[F[_]](manifest: ProcessingManifest[F]): LockHandler[F]

    Default handler, adding Processing for acquire and Processed for release

  5. def acquire[F[_]](manifest: ProcessingManifest[F])(app: Application, item: Item, payload: Option[Payload]): F[(UUID, Instant)]

    Acquire lock by adding Processing state to the Item Only processing-apps should acquire lock (no snowplowctl)

    Acquire lock by adding Processing state to the Item Only processing-apps should acquire lock (no snowplowctl)

    It performs two Item-checks: one *before* acquiring lock, to check that application is still working with unchanged item (some time might pass since we received Item - it even could happen in batch); one *after* acquiring lock, to check that meanwhile put-request was sent no other application attempted to write to this item It acquires lock for particular application, but will also fail because of "race condition" if any other application attempted to write

    app

    application that tries to acquire lock

    item

    original unprocessed item, from batch of items

    payload

    payload that will be add to Processing record

    returns

    time of adding Processing within MonadError effect, telling if acquisition was successful

  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate() @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. final def fail[F[_]](manifest: ProcessingManifest[F])(app: Application, item: Item, previous: UUID, throwable: Throwable): F[(UUID, Instant)]

    Helper to mark Item as Failed (put Failed)

  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. final def release[F[_]](manifest: ProcessingManifest[F])(app: Application, item: Item, previous: UUID, payload: Option[Payload]): F[(UUID, Instant)]

    Helper to release lock (put Processed)

  18. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    AnyRef → Any
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped