<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Yes, DirExportProvider provides
      pagination in separate transactions. But it's doing everything
      sequentially on single cluster node (no cluster awareness). If
      host crashes after 50.000 users exported, you need to start again.
      <br>
      <br>
      In shortcut, what we don't yet have is: concurrency, cluster
      scalability + failover, possibility to see progress of long
      running task in admin console <br>
      <br>
      Marek<br>
      <br>
      On 23/10/15 15:09, Stian Thorgersen wrote:<br>
    </div>
    <blockquote
cite="mid:CAJgngAfmXq0A_oJp3cYs8zTXv642aYDT=E_nq5MKmBLE2cKzsQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">We already have paginated export of users though?</div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On 23 October 2015 at 14:22, Marek
          Posolda <span dir="ltr">&lt;<a moz-do-not-send="true"
              href="mailto:mposolda@redhat.com" target="_blank">mposolda@redhat.com</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div text="#000000" bgcolor="#FFFFFF">
              <div>Sorry for late response. Is the scope of this task
                also to improve big long-running export/import ? We
                already have someone with 75.000 users in DB.<br>
                <br>
                It seems that export/import is kind of task, which can
                be easily "paginated" (Export of user1 - user500 is
                page1, export of user501-user1000 is page2 etc). We may
                have the table where you can see the progress of
                long-running export/import job and how many users
                (pages) are already exported. <br>
                <br>
                Besides that we may support:<br>
                - Concurrency (more worker threads. Each worker doing an
                export of different page)<br>
                - Cluster scalability (Each cluster node takes some
                pages and helps with the overall export task)<br>
                - Cluster failover (When some cluster node crashes
                during export job, the whole job is not canceled but
                continue on other cluster nodes without problem)<br>
                <br>
                I've already addressed the concurrency, scalability and
                failover with the <span
                  style="background-color:#e4e4ff">InfinispanUserSessionInitializer,

                  which is used at startup for pre-load offline sessions
                  from DB. It's based on infinispan Distributed Executor
                  service. I think that with some minor changes (maybe
                  even without them) it can be reused for any long
                  running "paginatable" job (export/import, sync of big
                  number of users from federationProvider etc)<span
                    class="HOEnZb"><font color="#888888"><br>
                      <br>
                      Marek</font></span></span> <br>
                <div>
                  <div class="h5"> <br>
                    On 21/10/15 14:44, Stian Thorgersen wrote:<br>
                  </div>
                </div>
              </div>
              <blockquote type="cite">
                <div>
                  <div class="h5">
                    <div dir="ltr">I've just added client registration
                      services in 1.6 which should be more useful for
                      that. There's also a Java library. Basically
                      admins and service accounts with the role
                      create-client can create new clients, while
                      clients themselves have permissions to update
                      their config.
                      <div><br>
                      </div>
                      <div>You could have a client template that you
                        change the client-id only then use this endpoint
                        to register the client.</div>
                    </div>
                    <div class="gmail_extra"><br>
                      <div class="gmail_quote">On 21 October 2015 at
                        14:40, Thomas Raehalme <span dir="ltr">&lt;<a
                            moz-do-not-send="true"
                            href="mailto:thomas.raehalme@aitiofinland.com"
                            target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:thomas.raehalme@aitiofinland.com">thomas.raehalme@aitiofinland.com</a></a>&gt;</span>
                        wrote:<br>
                        <blockquote class="gmail_quote" style="margin:0
                          0 0 .8ex;border-left:1px #ccc
                          solid;padding-left:1ex">
                          <div dir="ltr">
                            <div>
                              <div>If you deploy the same application
                                multiple times for different customers
                                you could have a configuration template
                                containing all the common bits and
                                pieces, but have Keycloak generate keys
                                and secrets when you import the
                                configuration.<br>
                                <br>
                              </div>
                              Best regards,<br>
                            </div>
                            Thomas<br>
                            <br>
                            <div>
                              <div>
                                <div>
                                  <div class="gmail_extra">
                                    <div>
                                      <div><br>
                                        <div class="gmail_quote">On Wed,
                                          Oct 21, 2015 at 3:33 PM, Stian
                                          Thorgersen <span dir="ltr">&lt;<a
                                              moz-do-not-send="true"
                                              href="mailto:sthorger@redhat.com"
                                              target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:sthorger@redhat.com">sthorger@redhat.com</a></a>&gt;</span>
                                          wrote:<br>
                                          <blockquote
                                            class="gmail_quote"
                                            style="margin:0 0 0
                                            .8ex;border-left:1px #ccc
                                            solid;padding-left:1ex">
                                            <div dir="ltr">Can you
                                              elaborate a bit on that?</div>
                                            <div>
                                              <div>
                                                <div class="gmail_extra"><br>
                                                  <div
                                                    class="gmail_quote">On
                                                    21 October 2015 at
                                                    14:29, Thomas
                                                    Raehalme <span
                                                      dir="ltr">&lt;<a
                                                        moz-do-not-send="true"
href="mailto:thomas.raehalme@aitiofinland.com" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:thomas.raehalme@aitiofinland.com">thomas.raehalme@aitiofinland.com</a></a>&gt;</span>
                                                    wrote:<br>
                                                    <blockquote
                                                      class="gmail_quote"
                                                      style="margin:0 0
                                                      0
                                                      .8ex;border-left:1px
                                                      #ccc
                                                      solid;padding-left:1ex">
                                                      <div dir="ltr"><br>
                                                        <div>
                                                          <div
                                                          class="gmail_extra"><br>
                                                          <div
                                                          class="gmail_quote"><span>On

                                                          Wed, Oct 21,
                                                          2015 at 3:27
                                                          PM, Stian
                                                          Thorgersen <span
                                                          dir="ltr">&lt;<a
moz-do-not-send="true" href="mailto:sthorger@redhat.com" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:sthorger@redhat.com">sthorger@redhat.com</a></a>&gt;</span>
                                                          wrote:<br>
                                                          <blockquote
                                                          class="gmail_quote"
                                                          style="margin:0
                                                          0 0
                                                          .8ex;border-left:1px
                                                          #ccc
                                                          solid;padding-left:1ex">
                                                          <div dir="ltr">I'd

                                                          like to get
                                                          import/export
                                                          done properly.
                                                          The addition
                                                          of being able
                                                          to add bits
                                                          and pieces to
                                                          import in a
                                                          directory
                                                          would be
                                                          really helpful
                                                          on
Docker/OpenShift/etc..</div>
                                                          </blockquote>
                                                          <div><br>
                                                          </div>
                                                          </span>
                                                          <div>I had
                                                          similar things
                                                          in mind when I
                                                          suggested the
                                                          re-generation
                                                          of keys and
                                                          secrets. You
                                                          could define a
                                                          template which
                                                          you'd use in a
                                                          process for
                                                          new
                                                          deployments. <br>
                                                          </div>
                                                          <div><br>
                                                          </div>
                                                          <div>Best
                                                          regards,<br>
                                                          </div>
                                                          <div>Thomas</div>
                                                          </div>
                                                          </div>
                                                        </div>
                                                      </div>
                                                    </blockquote>
                                                  </div>
                                                  <br>
                                                </div>
                                              </div>
                                            </div>
                                          </blockquote>
                                        </div>
                                        <br>
                                        <br clear="all">
                                        <br>
                                      </div>
                                    </div>
                                    <span><font color="#888888">-- <br>
                                        <div>
                                          <div dir="ltr"><span>
                                              <div>
                                                <div dir="ltr">
                                                  <div>
                                                    <div dir="ltr">
                                                      <div>
                                                        <div dir="ltr">
                                                          <div><b>Thomas
                                                          Raehalme</b></div>
                                                          <div><i>CTO,
                                                          teknologiajohtaja</i></div>
                                                          <div>Mobile <a
moz-do-not-send="true" href="tel:%2B358%2040%20545%200605"
                                                          value="+358405450605"
target="_blank">+358 40 545 0605</a></div>
                                                          <div><br>
                                                          </div>
                                                          <div><b>Aitio
                                                          Finland Oy</b></div>
                                                          <div>Väinönkatu
                                                          26 A</div>
                                                          <div>40100
                                                          JYVÄSKYLÄ,
                                                          Finland</div>
                                                          <div>Tel. <a
moz-do-not-send="true" href="tel:%2B358%2010%20322%200040"
                                                          value="+358103220040"
target="_blank">+358 10 322 0040</a></div>
                                                          <div><a
                                                          moz-do-not-send="true"
href="http://www.aitiofinland.com" target="_blank"><a class="moz-txt-link-abbreviated" href="http://www.aitiofinland.com">www.aitiofinland.com</a></a></div>
                                                          <div>
                                                          <pre cols="72" style="white-space:pre-wrap;color:rgb(0,0,0);font-family:arial,helvetica,sans-serif"><div style="white-space:normal;font-family:arial,sans-serif"><span style="background-color:rgb(230,145,56)"><font color="#cc0000"><b><span style="background-color:rgb(255,255,255)"><span></span><span style="color:rgb(230,145,56)">Codecenter on nyt Aitio – me kun ei <span></span>vain koodata!</span></span></b></font></span></div></pre>
                                                          </div>
                                                        </div>
                                                      </div>
                                                    </div>
                                                  </div>
                                                </div>
                                              </div>
                                            </span></div>
                                        </div>
                                      </font></span></div>
                                </div>
                              </div>
                            </div>
                          </div>
                        </blockquote>
                      </div>
                      <br>
                    </div>
                    <br>
                    <fieldset></fieldset>
                    <br>
                  </div>
                </div>
                <span class="">
                  <pre>_______________________________________________
keycloak-dev mailing list
<a moz-do-not-send="true" href="mailto:keycloak-dev@lists.jboss.org" target="_blank">keycloak-dev@lists.jboss.org</a>
<a moz-do-not-send="true" href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a></pre>
                </span></blockquote>
              <br>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>